Bug #432

func (x,y)

Added by Shyouhei Urabe over 6 years ago. Updated almost 4 years ago.

[ruby-dev:35840]
Status:Rejected
Priority:Normal
Assignee:Yukihiro Matsumoto
ruby -v: Backport:

Description

=begin
以下のコードがparse errorです。

% ~/target/trunk/bin/ruby -ve 'p (1,2)'
ruby 1.9.0 (2008-08-13 revision 17576) [x86_64-linux]
-e:1: syntax error, unexpected ',', expecting ')'
p (1,2)
^
-e:1: warning: useless use of a literal in void context

もちろん1.8では通ります。

% ~/target/branches/ruby_1_8/bin/ruby -ve 'p (1,2)'
ruby 1.8.7 (2008-08-12 revision 17572) [x86_64-linux]
-e:1: warning: don't put space before argument parentheses
1
2
=end

History

#1 Updated by Shyouhei Urabe over 6 years ago

  • Category set to core
  • Assignee set to Yukihiro Matsumoto

=begin

=end

#2 Updated by Yukihiro Matsumoto over 6 years ago

  • Status changed from Open to Rejected

=begin
1.9での仕様変更です。

1.8では引数の括弧の前に空白があっても、純粋にメソッド引数とみなしましたが、1.9ではこれは括弧で囲まれた単一の式と見なします。これは

p (n+5).abs

のような呼び出しを

p((n+5).abs)

のように解釈するためです。ですから、くれぐれもRubyではメソッド呼び出しの括弧の前に空白を入れないようにお勧めします。

=end

Also available in: Atom PDF