From: MOROHOSHI Akihiko Date: 2000-05-06T21:59:52+09:00 Subject: [ruby-list:22334] Re: $0hoge, $1hoge 師星です。 > つまんないお話で恐縮ですが、以前yylex()を見ていてちょっと気になったので > すが、$0hoge という変数名は使えてしまうんですよね。 > 記号の後をCの識別子のように捉えていたので違和感を覚えていたのですが、ふ > と思い出して考えてみると、@0hogeも使えて、そうか、記号でプレフィクスされ > ているからその次の文字にこだわる必要はないんだ、と納得しました。 > ところが、$の次に1〜9が続く場合は数字ではなくなったところで有無を言わさ > ず切られて、tNTH_REFが返されます。 > ここで、$1hogeも使える方がよいと思うのですが、どうでしょうか。 もうちょっとよく考えると(^^;、シンボル:1hogeがparse errorになるのでした。 というわけで、 $0hoge 使える $1hoge 使えない @[01]hoge 使える :[01]hoge 使えない という状態なのですが、 1. どれも使えないようにする 2. どれも使えるようにする 3. このままがイイ感じ のどれがよいのでしょう? ちなみに、メイリングリストのアーカイブを検索してみますと(最初にやりなさ いって)、97年の8月に[ruby-dev 227]ですでに石塚さんが「$0aが許されるのな ら$1aも許されるのでは?」と指摘していらっしゃって、[ruby-dev 230]では、 まつもとさんが「そうかもしれませんねえ」とおっしゃっているのを発見できた のですが、この辺りがいつparse.yに入った/外れたかはわかりませんでした。 - moro.