Bug #1996
closed||= &&= doesn't return rval, but result of method
Description
=begin
Inconsistent behvaiour introduced in Ruby 1.9.1 with compound assignment operators.
o = Object.new
=> #Object:0x00000100975a80
def o.foo=(x); x * 2 end
=> nil
def o.foo; nil end
=> nil
o.foo = 1
=> 1
o.foo ||= 1
=> 2
RUBY_VERSION
=> "1.9.2"
RUBY_RELEASE_DATE
=> "2009-07-24"
RUBY_REVISION
=> 24260
In ruby 1.8
o = Object.new
=> #Object:0xe6c8
def o.foo=(x); x * 2 end
=> nil
def o.foo; nil end
=> nil
o.foo = 1
=> 1
o.foo ||= 1
=> 1
RUBY_VERSION
=> "1.8.7"
=end
Updated by yugui (Yuki Sonoda) about 15 years ago
=begin
Redmineプロジェクト宛に来てしまったissueを転送します。
---------- 転送メッセージ ----------
From: Joshua Hull redmine@ruby-lang.org
日付: 2009/08/26 11:01
件名: [redmine4ruby-lang:256] [Bug #1996] ||= &&= doesn't return rval,
but result of method
To: redmine4ruby-lang@qwik.jp
Bug #1996: ||= &&= doesn't return rval, but result of method
http://redmine.ruby-lang.org/issues/show/1996
起票者: Joshua Hull
ステータス: Open, 優先度: Normal
Inconsistent behvaiour introduced in Ruby 1.9.1 with compound
assignment operators.
o = Object.new
=> #Object:0x00000100975a80
def o.foo=(x); x * 2 end
=> nil
def o.foo; nil end
=> nil
o.foo = 1
=> 1
o.foo ||= 1
=> 2
RUBY_VERSION
=> "1.9.2"
RUBY_RELEASE_DATE
=> "2009-07-24"
RUBY_REVISION
=> 24260
In ruby 1.8
o = Object.new
=> #Object:0xe6c8
def o.foo=(x); x * 2 end
=> nil
def o.foo; nil end
=> nil
o.foo = 1
=> 1
o.foo ||= 1
=> 1
RUBY_VERSION
=> "1.8.7"
--
archive-> http://qwik.jp/redmine4ruby-lang/146.html
ML-> redmine4ruby-lang@qwik.jp
=end
Updated by nobu (Nobuyoshi Nakada) about 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r24757.
=end