【Ruby】Gold合格!!

三度目の正直です!!やったぜ!

今回は不合格の時の問題を対策したためしっかり点が取れました。
やはり資格試験はなるべく再現率の高い模試を受けるのが良さそうです。
いままでの問題に追加して今回も出題された問題を載せていきます!

alias式の宣言方法
def foo
  p "foo"
end
def bar
  p "bar"
end

alias foo bar
foo

alias式はあくまで式なのでaliasとメソッド名の間や新メソッドと旧メソッドの間にかっこ、ドット、コンマ等を置くとエラーになります。
あと指定はシンボルかメソッド名指定で、文字列では指定できません。

クラスメソッド定義するとき
class A
  def A.m
    p self
  end
end
class B < A
end
B.m

ふつうはselfと書くのですが当然クラス名を入れてもおっけーだし継承もされてます。

freezeの参照先オブジェクト
elem1 = "a"
elem2 = "b"
elem3 = "c"
a = [[elem1], elem2, elem3]
a.freeze
elem1 = "aa"
elem2 = "aa"
p a #=>[["a"], "b", "c"]

参照先のオブジェクトもfreezeされます。

あまり覚えていないので今後思い出したら追加してくとしましょう。