LISP家族循环第2季

Clojure语言(2007年)

类型:dotimes(指定次数)

(dotimes [i 5]

(println i))

注:以0开头的,含头不含尾。

类型:doseq(遍历循环)

(doseq [e [10 20 30]]

  (prn e))

类型:loop

(loop [i 1]

(when (< i 5)

(println i)

(recur (+ i 1))))

类型:当循环

(def i (atom 1))

(while (<= @i 5)

(println @i)

  (swap! i inc))

倒置:

(def i(atom 5))

(while (pos? @i)

(println @i)

(swap! i dec))

Hy语言(2013年)

(for [e [10 20 30]])

(print e))

(print (lfor e[10 20 30]))

newLISP语言(1991年)

dolist循环

(dolist (i (sequence 1 5))

(println i)

for循环

(for (i 1 (- n 1)))

ISLISP语言

(for ((e ’(10 20 30) (cdr e))

L++语言

(for (def i 1) (< i 5) (++ i)

(std::printf "Index=%d\n" i))

Janet语言(1984年)

(each  e v)

(print "Value=" e))

Jess语言

(while (< ?i 5) do

(bind ?i (?i 1))

OpenLISP语言(1988年)

(while (< i 5)

(format t "Index=~a~%" i))

TXR语言(2009年)

@(do (for(i 1))

(< i 5)

(inc i)

@(end)

Nu语言(2007年)

(set i 1)

while (< i 5)

(print "Index=#i\n")

(set i (+ i 1)))


海之皇出品,工作间:编程茶馆


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容