ども、植木です。 >> s = "x" >> puts s *10 > > 「最後の引数の直前に*がついている場合,その引数の 値が展開されて渡されま > す.つまり: > >puts(s(*10)) > >という method 呼び出しをしようとして、"s" という method は無いとい >うエラーになっていると推測されます。 私もそんな気はしていたのですが... ローカル変数は、最初の代入が宣言代わりで、宣言されてないローカル変数の 参照は、引数なしのメソッド呼出しと解釈されるのですよね? >> s = "x" >> puts s *10 この場合、先に s に "x" が代入してあるので、メソッドとは区別できると 思うのですが、宣言がしてあっても最後の引数の直前に * があるとメソッド として扱われるのでしょうか? いずれにしても s = "x" の時に puts "x" *10 #->OK puts s *10 #->Error この2つの動作が違うというのは、なんとなく違和感が... 素直にスペース1つ入れとけば良いのでしょうけど(^^; --------------------------------------- 植木岳彦 E-Mail: takehiko / os.rim.or.jp