From: WATANABE Hirofumi Date: 2002-05-16T18:37:03+09:00 Subject: [ruby-dev:17120] Re: irb & jarh わたなべです。 Tanaka Akira writes: :後から気がついたんですが、これだと区切りを見逃すことはありませんが、 :syntax error で続きを読んでもしかたがないのかあるいはもっと読めば正し :い区切りにたどり着くのかの区別がつきません。 最近make testが遅いと感じてたんですが、この方法は sample/test.rbの-cでチェックしてるところで使えると思います。 かなり高速化されます。 #evalは=begin,=endが使えないのが痛い。 -- わたなべひろふみ Index: sample/test.rb =================================================================== RCS file: /src/ruby/sample/test.rb,v retrieving revision 1.40 diff -u -1 -r1.40 test.rb --- sample/test.rb 2002/05/14 06:22:31 1.40 +++ sample/test.rb 2002/05/16 09:30:22 @@ -1210,5 +1210,14 @@ end + +def valid?(code) + begin + eval("BEGIN {return true}; #{code}") + rescue SyntaxError + return false + end + return false +end + for script in Dir["#{dir}{lib,sample,ext}/**/*.rb"] - `./miniruby -c #{script}` - unless $? + unless valid? open(script).read.gsub(/^=begin.+?=end$/m, '') $bad = true