[sourcecode langugae="clojure"]
(defn hello
"Writes hello message to *out*. Calls you by username.
Knows if you have been here before."
[username]
(dosync
(let [past-visitor (@visitors username)]
(if past-visitor
(str "Welcome back, " username)
(do
(alter visitors conj username)
(str "Hello, " username))))))
[/sourcecode]
Programming Clojure 저자 스튜어트 할로웨이라는 분이 지으신 책이다.
위 코드를 어디에 이용할 수 있을 지 생각해 봤다.
- 다른 사용자들과 싶게 공유할 수 있는 단어장? (중복 체크하고 쿼리를 날리는 구조에 사용할 수 있겠다.)
- 채팅프로그램에서도 사용할 수 있겠죠? (위 코드를 재사용하면 hello와 welcome으로 분기할수 있음).