今回はRuby技術者認定試験問題「Ruby Examination(Silver)」を解く中で、調べたことや知ったことについて簡単にまとめておきたいと思います。
【Ruby Examination(Silver)】模擬試験で調べたことまとめ
- oddは奇数、evenは偶数
- RubyのHash#updateは破壊的メソッド。!がついていないので注意。
- productメソッドはレシーバーの配列と引数の配列からそれぞれ要素を1つずつ取り出して、新しい配列を作成する。全ての配列を要素とする配列を返す。
- String#chopは末尾の文字を取り除く。ただ破壊的メソッドではないので、selfの変化はなし。
- foo (2) * 2はメソッド名と引数の間に空白があるので、foo((2) * 2)と解釈される。よって4の4乗256となる。
- String#strip!は文字列の先頭と末尾の空白文字を取り除くメソッド。もし2個以上の空白があったら全て取り除く。
- 各演算子の優先順位を確認しておく。特に+、ーは&&や||よりも優先順位が高いこと。
- with_index(offset)は要素にインデックスを添えて繰り返すメソッド。
- elsifはelseがないと使用することができない。
- Hash#eachノブロックパラメーターはArrayで渡される。ハッシュではない。
- Hash#new(default)をすると、作成するハッシュの値が空の場合は、defaultの値が挿入されるようになる。
- メソッドと変数の探索順位は変数の方が先。
- *”a”とするとArrayクラスのオブジェクトを返す。
- Array#sliceはArray#[]と一緒。
- 識別子で括った文字列のインデントはそのまま表示される。
- selectはブロックの戻り値がtrueになる要素を配列にして返す。レシーバーを全て走査する。