思考の流れについて
思考の流れ
○をして、〜して、〜するRubyでは
puts ARGF.each.take(n)
Haskellでは
main do cs <- getContents putStr (unlines (take n lines cs))
- 人間がどう感じるか
- 人間は進化する
- 新たな知識
- 慣れ
- 最適化
"Haskellでは"というのが,気になります.(syntax errorなコードを横に置いといたとしても)
Haskellで,Rubyの例みたいに書くんだったら,下みたいなコード.(nは別の所で定義されているとする)
main = putStr . unlines . take n . lines =<< getContents
そもそも,Haskellというか関数型プログラミングは思考の流れはもっと自由だと思う.私はHaskellをかじった程度でまだまだだけど,そう感じることが多い.というか,Haskellで書いていると,自分が考えた順番が良くないと気づかされることが良くある.(それに,大学のプログラミング言語論の授業でも習ったしw)
ちなみに,Haskellだったら下みたいな順番でも書ける.
main = getContents >>= putStr . unlines . take n . lines
念のため,書き方及び考え方という観点での順番.
(関係ないけれど,"unline . take n "等の一部分を別の位置に書くことはできるのか疑問になった)
自信がないけれど,二つのコードは式の展開の順番は異なるけれど,式が評価される順番は同じだと思う.
... そもそも,不自然なコードになりそうだけど,RubyだってここにあるHaskellの例のように書けるんじゃないかな.
うーん,どんなことを話したんだろう.
wwwこれはwwwテラ勘違いかwww
これは,コードの読者の思考の流れかなのかな? ... 分からないよーorz