- 学習効率を上げるために(本を読むだけではなく)実用的なコードを書きたい
- 本読むだけだと「なるほどー。で、これどこで何に使えばいいの?」になりがち
- とはいえアプリケーションを全部 Haskell で書くのはまだ無理
という訳でRubyからGroovyの標準入力に渡して処理させて出力を読むの焼き直しです。
これで「自宅で使ってる Ruby スクリプトのここの処理を Haskell に置き換えてみよう」みたいにできればいいなと。
foo.rb
# -*- coding: utf-8 -*- def proc_by_haskell(haskell_program, str) IO.popen(%Q{runghc "#{haskell_program}"}, "r+"){|io| io.print str io.close_write io.read } end p proc_by_haskell("bar.hs", "foo\\nあ\n") #=> "foo\\nあ\n_bar"
bar.hs
appendBar cs = cs ++ "_bar" main = do cs <- getContents putStr(appendBar cs)