
Hash#clear
ハッシュの中身を空にするメソッドです。
「!」はついていませんが、破壊的メソッドです。
なお、デフォルト値はクリアされません。
❯ irb
>> h = {a: 100, b: 200}
=> {:a=>100, :b=>200}
>> h.clear
>> p h
{}
=> {}
>> h = Hash.new("default value")
=> {}
>> h.clear
=> {}
>> h.default
=> "default value"
>>
空のハッシュオブジェクトを作成する方法
■Hash({})
■{}
■Hash.new
unlessはelseのみ(elsif不可)
elsifは併用できないためエラーが起こります。
?> def hoge(n)
?> unless n != 3
?> "hello"
?> elsif n == 5
?> "world"
?> end
>> end
/Users/tokudome/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.9.1/lib/irb/workspace.rb:117:in `eval': (irb):11: syntax error, unexpected `elsif', expecting `end' or dummy end (SyntaxError)
elsif n == 5
^~~~~
# elseであれば用いることができる
?> def hoge(n)
?> unless n != 3
?> "hello"
?> else n == 5
?> "world"
?> end
>> end
=> :hoge
>> str = ''
=> ""
>> str.concat hoge(3)
=> "hello"
>> str.concat hoge(5)
=> "helloworld"
>>
>> puts str
helloworld
instance method Enumerable#inject
Enumerable#injectは、たたみこみ演算を行うメソッドです。
■引数を省略した場合は、要素1がブロック引数の1番目に渡されます。
■引数を指定した場合は、その値が初期値になります。
■ブロック引数の1番目は前回の戻り値が渡されます。初回は、初期値が渡されます。
■ブロック引数の2番目は要素が順番に渡されます。
参照:instance method Enumerable#inject
String.chop
String.chopは文字列の最後の文字を取り除いた、新しい文字列を生成して返します。
文字列の終端が "\r\n" であればその 2 文字を取り除きます。
参照:instance method String#chop
instance method String#index
String#indexは、index(pattern, pos = 0)の形で使います。
文字列のpos番目からpatternを検索し、最初に見つかった位置を返します。
>> a = "Ruby"
=> "Ruby"
>> b = " on Rails"
=> " on Rails"
>> a.concat b
=> "Ruby on Rails"
>> a.reverse!
=> "sliaR no ybuR"
>> p a.index("R", 1)
4
=> 4
参照:instance method String#index
Array#append
append はStringには使用できないメソッドです。
レシーバにはArrayを取ります。
appendはpushと同様、引数を配列の末尾に追加します。
引数を指定しない場合は何も起こりません。
>> a = "Ruby"
=> "Ruby"
>> b = " on Rails"
=> " on Rails"
>> a.append b
(irb):47:in `<main>': undefined method `append' for "Ruby":String (NoMethodError)
from /Users/tokudome/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.9.1/exe/irb:9:in `<top (required)>'
from /Users/tokudome/.rbenv/versions/3.2.2/bin/irb:25:in `load'
from /Users/tokudome/.rbenv/versions/3.2.2/bin/irb:25:in `<main>'
>> a.reverse
=> "ybuR"
>> p a
"Ruby"
=> "Ruby"
>> a.index("R", 1)
=> nil
>>
参照:instance method Array#append
instance method IO#rewind
ファイルポインタを先頭に持ってくるメソッドです。