koeだめ 過去アーカイブ[〜2013-12-14]

最新情報は https://www.pixiv.net/fanbox/creator/3780274 にて

RubyでS式な文字列をパースして配列として内容を取り出したいがためにRuby1.9系でRuchemeを使ってみた

2013/2/24 ネコハッカソンにて、各種業務や確定申告の後、こちらをやってました。

2.0リリース日ですが1.9系です。

http://www.namikilab.tuat.ac.jp/~sasada/prog/rucheme.html
[twitter:@_ko1]さん!thx!!

Ruby1.9系でテストを走らせる&とりあえず動かすために行ったこと

  • 1.8系と同様の$LOAD_PATHにすべく、プログラムの出だしに下記を仕込む

$LOAD_PATH.push '.'

テストを動かす

cd test
ruby ts.rb

└─[$] <> ruby ts.rb
Run options:

# Running tests:

.......................F.........

Finished tests in 0.042687s, 773.0691 tests/s, 5177.2202 assertions/s.

1) Failure:
test_str(ReaderTest) [/Users/t-koshiba/dev/s_shiki/rucheme/test/test_reader.rb:49]:<"\n"> expected but was<"\\n">.

33 tests, 221 assertions, 1 failures, 0 errors, 0 skips

_(:3 」∠)_

まずは1.8系いれてそちらでは通るか試そう。

とりあえずirbで試す

http://www.namikilab.tuat.ac.jp/~sasada/prog/rucheme.html#i-5 を参考に、evalするんじゃなくて、read後にto_a。

$LOAD_PATH.push '.'
require 'rucheme'
topenv = Rucheme::Environment.interaction_environment
reader = Rucheme::Reader.new false, '("hahafga" def 1 2 3)', ''
result = reader.read
reader.read.to_a

=> ["hahafga", :def, 1.0, 2.0, 3.0]

ほほう!

  • テストを通す
  • 漢字とか通るかためす
  • S式で書き出しはどうやってやろう…