Edited at

tap

More than 5 years have passed since last update.


配列を変更する

p [].tap{|arr|

5.times.each do|i|
arr << i
end
}
# 出力
# [0, 1, 2, 3, 4]


文字列を変更する

p 'a'.tap{|str|

str << 'b'
}
# 出力
# ab


ActiveRecord を覗く

便利!

a = Foo.where(bar:'a').tap{|a| p a.to_sql}.all


配列の中身を見る

[1, 2, 3].tap{|a| p a }.push(4).tap{|a| p a }

# 出力
# [1, 2, 3]
# [1, 2, 3, 4]


ちょっとかっこいい

def foo

a = []
5.times.each{|i|
a << i
}
a
end

上が下のように書ける。初期化とリターンがいらないけれど特に読みやすくないのでやっぱりあまりかっこよくないかもしれない。

def foo

[].tap{|a|
5.times.each{|i|
a << i
}
}
end