Top > Blog Index > はじめてのClojure , first rest cons のテストとループ(再帰)

はじめてのClojure , first rest cons のテストとループ(再帰)

リスト操作の基本 first , rest ,cons のテストコード。

ループに挑戦

今度はリストから順に出力するにはどうかけばよいか。

もっと簡単なイディオムがありそうだが、とりあえず機能した。

zero?という関数があるのでそれを使えば以下のようにかける。

;
; ループのテスト
;

;(defn list-size-not-zero?
;   "リストのサイズが0より大きいですか" 
;   [list]
;   ( < 0 (count list) )
;)

(defn myloop
    "最初の要素から順にプリント"
    [list]
    ( println (first list) )
    ( when-not (zero? (count (rest list))) ( myloop ( rest list ) ) )
)

(def mylist '(1,2,3,4,5,))
( myloop mylist )