Clojure その14
Clojure その13 テキストファイル読み込み3 - Sphereとともに
にコメント頂きました(@kawasima 先生ありがとうございます)
詳しく見て行きましょう
単に中身を全部読み込むだけなら
(slurp "/xxxxxxx/hello/src/hello/core.clj")行ごとに処理するなら、こうかな。
(with-open [rdr (clojure.java.io/reader "/xxxxxxx/hello/src/hello/core.clj")]
(let [lines (line-seq rdr)]
(doall
(map println lines))))line-seqが遅延シーケンスなので、ファイルサイズがデカくても大丈夫です。
■ slurp とはなにか
ClojureDocs - clojure.core/slurp
これを使えればファイルを簡単に読めるわけですね
しかもなんと Webページも取得できるという優れもの
(ns hello.core) (defn -main [] (println (slurp "http://fscoward.hateblo.jp/")))
■ with-open
ClojureDocs - clojure.core/with-open
try-catch-finally を勝手にやってくれるやつかな
finally で close してくれる賢い奴
C# でいうと using でしょうか
■ doall
ClojureDocs - clojure.core/doall
英語難しい・・・
;; doall forces the seq to be realized
の一文から察するに、遅延シーケンスを強引に評価してやるぜって感じでしょうか
「堀江由衣をめぐる冒険IV~パイレーツ・オブ・ユイ 3013~」Blu-ray
- アーティスト: 堀江由衣
- 出版社/メーカー: キングレコード
- 発売日: 2013/12/25
- メディア: Blu-ray
- この商品を含むブログ (4件) を見る