ruby gold 2.1

  • 17
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

2.1も難しかった。

でもやはりネットの海は広大です。ほかに参考になる情報はありますが、
この情報も誰か(自分)のためになるかもと思い残しておきます。

すでに1.8版の試験をもっていてバージョンアップに伴い再受験しました。
基本的には1.8の範囲を押さえつつ、2.1の範囲で点を稼ぐことができ、
90点くらいで合格できました。
とは言っても、全然楽勝とは思えなかったですが。

記憶にある限り2.1の範囲は以下

受験時には8問くらいが2.1の範囲だったと記憶している

  • iのリテラル記法
  • prepend(includeとの違い、優先順を押さえる)
  • refinementsをusingする前、した後の動き(定義の仕方、スコープ)
  • Fiberの定義、呼び出し、Fiberを定義した時の戻り値(resume、ジェネレータでそこが尽きた時のエラー:FiberError)
  • Hashのキーワード引数(キーワードありの場合→変数に受け取ることができる、無しの場合)
  • Enaumable#lazy

個人的に難問題

  • 可変長引数の展開のルールで*をつける場所と結果を選ぶ問題
  • ancestorsが呼び出しのタイミングで結果が変わるようなことを問う問題
  • ブロックの結合度(do〜end、{}の違い。ブロックとして渡す方法)
  • 起動オプション(lが出題されたような)
  • to_s,to_strとp,inspectの関連とか再定義とかに絡むところ
  • rescueで引数省略でエラーが捕捉される、されないとかを問う問題
  • all?とeachを組み合わせて正しい動きになるようにする問題(問題文が長くて全然理解できなかった)

試験範囲に含まれている認識がなかったもの

  • append_features,includedの動き

既存の範囲

その他については公式教科書の内容がまだ通じました。1.8取得後に手放そうかと思ったけど手元に置いておいて正解でした。

  • メソッド内での定数の扱い
  • クラスを継承した場合のクラスメソッドの扱い
  • module_functionをもつモジュールのincludeと呼び出し(selfが絡んでいた→いつでもselfは大事だ)
  • attr_シリーズ
  • Threadの中でのエラーとデバッグモードを絡めた話
  • ヒアドキュメント
  • protectedとprivateメソッドの可視性
  • open-uriとopen
  • DateTime、Dateの使い方
  • Timeのインスタンスの計算結果
  • strftimeの記法