あれから 7 年
データセンターで感じた大きな揺れが, 大災害になるとは思いもしなかったけど, あの日の事を思い出すとなんだか涙が出てくる.
とりあえず, ラジオを聞きながら手を合わせた.
ジョギング
- 香椎浜 x 2 周 + 砂浜 = 40 分程
- まだまだ足の疲れが抜けていない感
日課
- (腕立て x 50 + 腹筋 x 30) x 3
夕飯
- たこ焼きパーリー
- 紅しょうがが無かったけど美味しかった!!
今日のるびぃ ~ Ruby技術者認定試験【Gold】模擬問題を解いてみる (11) ~
もう何度か解いているけど, Ruby技術者認定試験【Gold】模擬問題 を数問ずつ解いていく. ポイントは, 問題が何について問われているかがちゃんと理解出来ていること.
Q.47 組み込みモジュール
FileTest モジュールに存在しないメソッドを選択してください.
child?
FileTest モジュールはファイルの検査関数を集めたモジュールで, 以下のようなメソッドが用意されている.
[8] pry(main)> FileTest.methods(false) => [:world_readable?, :writable?, :writable_real?, :world_writable?, :executable?, :executable_real?, :file?, :size?, :owned?, :grpowned?, :pipe?, :symlink?, :socket?, :blockdev?, :chardev?, :setuid?, :setgid?, :zero?, :sticky?, :identical?, :empty?, :size, :directory?, :exist?, :exists?, :readable?, :readable_real?]
Q.48 オブジェクト指向
下記のコードの説明として正しいものを選択してください.
# コード class Foo def initialize(obj) obj.foo end def foo puts "foofoofoo" end end class Bar def foo puts "barbarbar" end end Foo.new(Bar.new)
このコードを実行すると「barbarbar」と出力される
以下, 実行例.
[1] pry(main)> class Foo [1] pry(main)* def initialize(obj) [1] pry(main)* obj.foo [1] pry(main)* end [1] pry(main)* def foo [1] pry(main)* puts "foofoofoo" [1] pry(main)* end [1] pry(main)* end => :foo [2] pry(main)> class Bar [2] pry(main)* def foo [2] pry(main)* puts "barbarbar" [2] pry(main)* end [2] pry(main)* end => :foo [3] pry(main)> Foo.new(Bar.new) barbarbar => #<Foo:0x00005647a1131728> [4] pry(main)> Foo.new(Bar.new).foo barbarbar foofoofoo => nil
Q.49 オブジェクト指向
下記のコードの実行結果として正しいものを選択してください.
# コード class Bar def foo puts "barbarbar" end end class Foo < Bar def initialize(obj) obj.foo end def foo puts "foofoofoo" end end Foo.new(Foo.new(Bar.new))
以下, 解答.
barbarbar foofoofoo
以下, 実行例.
[1] pry(main)> class Bar [1] pry(main)* def foo [1] pry(main)* puts "barbarbar" [1] pry(main)* end [1] pry(main)* end => :foo [2] pry(main)> [3] pry(main)> class Foo < Bar [3] pry(main)* def initialize(obj) [3] pry(main)* obj.foo [3] pry(main)* end [3] pry(main)* def foo [3] pry(main)* puts "foofoofoo" [3] pry(main)* end [3] pry(main)* end => :foo [4] pry(main)> Foo.new(Foo.new(Bar.new)) barbarbar foofoofoo => #<Foo:0x000055cda923c770
ちなみに, Foo.new(Bar.new) したら, 以下の通り.
[10] pry(main)> Foo.new(Bar.new) barbarbar => #<Foo:0x000055cda99eea68
ふむふむ.