LoginSignup
21
22

More than 5 years have passed since last update.

ruby gold 2.1

Posted at

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の記法
21
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
22