[ruby-list:260] Re: ruby 0.97c available
From:
j_kuro@... (Jun Kuroda)
Date:
1996-04-09 08:27:54 UTC
List:
ruby-list #260
黒田です.
>まつもと ゆきひろ@トヨタケーラムです.
>
>そういえば,0.97cの新機能として以前指摘のあった,
>
>In message "[ruby-list:188] Linux report"
> on 96/02/20, ozawa@prince.pe.u-tokyo.ac.jp <ozawa@prince.pe.u-tokyo.ac.jp> writes:
>|小澤さく@東大です.
>
>|a を Array だとして,"#{a[0]}" のようなものの展開はしないのですか?
>
>というのを実装しました.実際には文字列,正規表現の中での#{}
>は,{}を含まない任意の式が記述できるようになりました.意味無
>いんですけど,
>
> % ruby -le 'print "<<#{print 1}>>"
> 1
> <<nil>>
>
>なんて結果になります.つまり,#{print 1}を評価して,1を出力
>し,その戻り値のnilを埋め込んだ文字列を外側のprintで出力する
>わけです.
オプション解析のために作ったルーチンで
- --
1:ARGV.each{|ta|
2: if ta =~ /^-(\w+)/
3: $1.each_byte{|c|
4: if (VERSION == '0.97c')
5: $c2 = c.to_s
6: eval("$OPT_#{$c2} = 1")
7: else
8: c2 = c.to_s
9: eval("$OPT_#{c2} = 1")
10: end
11: }
12: continue
13: end
14:}
- --
5行目のようにグローバル変数にしておかないと,
(eval):1: undefined method `c2' for main(Object)
と言われます. 0.97c で言われるようになったのですが, 仕様なので
しょうか?
- --
黒田 淳 (Kuroda Jun)
<URL:mailto:j_kuro@pluto.ai.kyutech.ac.jp>
<URL:http://www.pluto.ai.kyutech.ac.jp/~j_kuro/>