>>>>>>> 24b6b53 ( 【init】)
写过 java 的都知道,这个语言比较啰嗦。以 《Clojure in Action》中的获取当前时区名字为例, 按照 . 的用法,是可以逐步获取日历的实例,然后点操作获取时区类,再点操作获取时区名,需要进行嵌套,代码比较冗长,会是下面这个样子:
(import '(java.util Calendar TimeZone))
(. (. (Calendar/getInstance) (getTimeZone)) (getDisplayName))
这样的代码看上去简直难以接受,类的获取再深入一点,可能要嵌套多层。 .. 宏就是应对这个问题的,使用 .. 之后,代码如下:
(import '(java.util Calendar TimeZone))
(..
(Calendar/getInstance)
(getTimeZone)
(getDisplayName true TimeZone/SHORT))
最后一个 getDisplayname 方法接收了两个参数。