功能描述:写个程序,每100毫秒输出一次当前时间,共10次。统计出程序源码的括号数。
/** * 统计源代码括号数, Scala实现. * * <code> * val source = """(ss[})""" * count(source) // 4 * </code> */ def count(str: String, some: String = "(){}[]") = str count (some.contains (_:Char))
clojure版本1:
(doseq [f (repeat 10 #(println (.format (java.text.SimpleDateFormat. "yyyy-MM-dd HH:mm:ss:SSS") (java.util.Date.)))) ] (Thread/sleep 100) (f))
括号总计:18
clojure版本2:
(dotimes [_ 10] (Thread/sleep 100) (println (.format (java.text.SimpleDateFormat. "yyyy-MM-dd HH:mm:ss:SSS") (java.util.Date.))) )
括号总计:14
Scala版本1:
for(i <- (0 until 10)){ Thread.sleep(100) println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS") format (new java.util.Date)) }
括号总计:14
Scala版本2:
(0 until 10).foreach{ it => Thread sleep 100 println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS") format new java.util.Date) }
括号总计:8