【戻る】 【進む】   目次   後     8. オブジェクトとは - オブジェクトを変形する

オブジェクトを変形する

sub!, slice!のようにメソッド名に!がついたものは、レシーバを変形する場合が多い。
concat, pushのように、!がつかなくてもレシーバを変形するものがある。

foo = "Hello, world!"
p foo.slice(3..8)  #=> "lo, wo"
p foo              #=> "Hello, world!"
p foo.slice!(3..8) #=> "lo, wo"
p foo              #=> "Helrld!"

foo = "Hello, world!"
bar = foo
p bar.slice(3..8)  #=> "lo, wo"
p foo              #=> "Hello, world!"
p bar.slice!(3..8) #=> "lo, wo"
p foo              #=> "Helrld!"

foo = "Hello, world!"
bar = foo.dup
p bar.slice(3..8)  #=> "lo, wo"
p foo              #=> "Hello, world!"
p bar.slice!(3..8) #=> "lo, wo"
p foo              #=> "Hello, world!"

foo = [1, 2, 3]
p foo + [4, 5]       #=> [1, 2, 3, 4, 5]
p foo                #=> [1, 2, 3]
p foo.concat [4, 5]  #=> [1, 2, 3, 4, 5]
p foo                #=> [1, 2, 3, 4, 5]
p foo.push 6         #=> [1, 2, 3, 4, 5, 6]
p foo                #=> [1, 2, 3, 4, 5, 6]
obj-method1.rb
 


【戻る】 【進む】   目次   後     8. オブジェクトとは - オブジェクトを変形する