【アンチ】関数型言語は使えない【玩具】 2

■ このスレッドは過去ログ倉庫に格納されています
2012/02/28(火) 20:45:47.95
前スレ
http://toro.2ch.net/test/read.cgi/tech/1320743217/
2012/03/24(土) 14:39:52.21
>>211
HPに説明があったから良かったものの、所見であのコードだけ見てたら混乱してた
個人的には、>>204のページ探してるときに見つけた

http://uch-x40.seesaa.net/article/22908221.html
こっちのページのやり方の方が好きかな

このページのprintをputsにするだけで問題解決するんじゃないか?と思ったので、久しぶりにruby入れて試してみたら、
予想通り解決した

puts ARGF.read

これで、

>ruby cat.rb mycat.hs myecho.hs
import System.Environment
import System.IO

main = getArgs >>= mapM readFile >>= putStrLn.unlines
import System.Environment

main = getArgs >>= putStrLn.unwords

Haskell版と、ちょっと挙動が違うけど・・・
(Haskell版のputStrLnをputStrに変えれば同じになるけど、どっちが正しい挙動なんだろ)
2012/03/24(土) 14:55:21.83
あー・・・ごめん
ruby版、問題解決してないや
EOFで改行されないから、
import System.Environment
import System.IO

main = getArgs >>= mapM readFile >>= putStrLn.unlines[EOF]<-ここにEOFがある

この条件だと下のような表示になる

import System.Environment
import System.IO
↓ここから次のファイルが始まる
main = getArgs >>= mapM readFile >>= putStrLn.unlinesimport System.Environment

main = getArgs >>= putStrLn.unwords
2012/03/24(土) 14:57:07.40
実行結果の書き直し・・・半角スペースは消えるんだった・・・orz

import System.Environment
import System.IO
                                   ↓ここから次のファイルが始まる
main = getArgs >>= mapM readFile >>= putStrLn.unlinesimport System.Environment

main = getArgs >>= putStrLn.unwords

■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況