以下のrubyのコードがrubyのバージョンによって挙動が違います。
これについて、公式のドキュメントはありますでしょうか?
また、組み込みメソッドがスレッドセーフかどうかは何を参照すれば良いでしょうか?
THREAD_NUM = 3
Array.new(THREAD_NUM) do
Thread.new do
10.times do
puts "hoge"
end
end
end.each(&:join)
puts…
例えば、以下のようなコードがあったとします。
module Foo
def bar(i)
i + 1
end
end
class Bar
attr_accessor :some_value
include Foo
def initialize(any_value)
@some_value = bar(any_value)
…
例えば以下のクラスCでsayメソッドを使ったら
インスタンス変数@dはnilで初期化されています.
このメソッドは3行にわたって書いており,
もうすこしスマートに書けないかと悩んでいます.
すでに機能的には充足されていますが,
rubyらしく書くためにはどう工夫すればよいでしょうか
class C
def initialize
@d = "hello"
end
def say
result = @d
@d = nil
result
…