Ruby

ruby gold 2.1

More than 3 years have passed since last update.

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の記法