[#9445] thread.rb — m_seki@...

18 messages 2000/03/16
[#9446] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/17

[#9460] Re: thread.rb — m_seki@... 2000/03/21

[#9462] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/21

まつもと ゆきひろです

[#11281] Re: thread.rb — Masatoshi SEKI <m_seki@...> 2000/10/22

[#9498] timeout しない timeout — ARIMA Yasuhiro <fit0298@...>

有馬です。

20 messages 2000/03/26
[#9506] Re: timeout しない timeout — matz@... (Yukihiro Matsumoto) 2000/03/27

まつもと ゆきひろです

[#9509] Re: timeout しない timeout — gotoken@... (GOTO Kentaro) 2000/03/27

In message "[ruby-dev:9506] Re: timeout しない timeout"

[ruby-dev:9513] Re: getopts.rb

From: Minero Aoki <aamine@...>
Date: 2000-03-27 08:15:38 UTC
List: ruby-dev #9513
あおきです。

  In mail "[ruby-dev:9502] getopts.rb"
    Wakou Aoyama <wakou@fsinet.or.jp> wrote:

> 青山です。
> 
> 1.5 の getopts.rb ですが、たぶん、こうですよね。

>    boolopts.each do |opt, val|
> -    eval "$OPT_#{opt} = val"
> +    eval "$OPT_#{opt} = #{val}"
>      end
>    valopts.each do |opt, val|
> -    eval "$OPT_#{opt} = #{val == 0 ? 'nil' : 'val'}"
> +    eval "$OPT_#{opt} = #{val == 0 ? 'nil' : val}"
>    end
>    argv.replace newargv

え、ブロック引数って eval では参照できないんでしたっけ?
ぼくの環境では

$ ruby -ve '[1].each {|i| eval "$i = i" }; puts $i'
ruby 1.5.3 (2000-03-23) [i686-linux-libc1]
1

と動いているようです。
それにこの修正だと、後のほうでは文字列展開後が

(val = 'test.rb' の状態で…)
$OPT_o = test.rb    # <- ここがまずい

とかになってしまうのでまずいです。
-------------------------------------------------------------------
あおきみねろう

In This Thread