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
ファイルポインタを先頭に持ってくるメソッドです。