ジョギング
- 香椎浜 x 3 周
- ゆっくりと走ったが, 暑さでバテた
日課
- (腕立て x 50 + 腹筋 x 50) x 3
イオンモールで
リッツの試食を進めてくるお姉さんが沢口靖子に見えて@ダイレックス香椎店
— Yohei Kawahara(かっぱ) (@inokara) 2018年5月12日
ナビスコリッツの試食をやっているお姉さんが沢口靖子に一瞬見えてしまったので, ちょっと疲れているのかもしれない.
夕飯
パスタを作るが, 麺とソースの量がアンバランスで最後の方はパサパサになってしまった...
今日のるびぃ ~ Ruby技術者認定試験【Gold】模擬問題を解いてみる (re: 19) ~
もう何度か解いているけど, 再び, Ruby技術者認定試験【Gold】模擬問題 を 3 ~ 5 問くらいずつ解いていく.
Q58. オブジェクト指向
以下のコードの説明として正しいものを選択する.
# コード module M def foo puts "foo" end end class Foo extend M end Foo.new.foo
- 11 行目でエラーになる
以下, irb による実行例.
irb(main):001:0> module M irb(main):002:1> def foo irb(main):003:2> puts "foo" irb(main):004:2> end irb(main):005:1> end => :foo irb(main):006:0> irb(main):007:0* class Foo irb(main):008:1> extend M irb(main):009:1> end => Foo irb(main):010:0> irb(main):011:0* Foo.new.foo NoMethodError: undefined method `foo' for #<Foo:0x00562f4886aa60>
以下, 解説より抜粋.
- extend はモジュールで定義したメソッドをクラスメソッドとして追加する
- メソッドを呼び出す場合は
Foo.foo
と記述する必要がある
irb(main):012:0> Foo.foo foo => nil
Q59. Marshal モジュール
Marshalモジュールの説明として正しいものを選択する.
3. IO オブジェクトや特異メソッドを持つオブジェクトはシリアライズすることができない
以下, ドキュメントより抜粋.
以下のようなファイルに書き出せないオブジェクトを書きだそうとすると, TypeError が発生する.
- 名前のついてない Class/Module オブジェクト = 無名クラス (この場合は, 例外 ArgumentError が発生)
- システムがオブジェクトの状態を保持するもの (具体的には Dir, File::Stat, IO とそのサブクラス File, Socket などのインスタンス)
- MatchData, Data, Method, UnboundMethod, Proc, Thread, ThreadGroup, Continuation のインスタンス
- 特異メソッドを定義したオブジェクト
Q60. 標準添付ライブラリ
標準添付ライブラリによって提供されていないクラスを選択する.
- Swap
その他の選択肢について, ドキュメントより抜粋.
ライブラリ | 説明 |
---|---|
TCPSocket | インターネットドメインのストリーム型ソケットのクラス, IO クラスのサブクラスと同様の入出力が可能. |
Thread | スレッドを表すクラスで, スレッドとはメモリ空間を共有して同時に実行される制御の流れである. |
Test::Unit | ユニットテストを行う為のモジュール |
フムフム.