ジョギング
- 香椎浜 x 2 周
- ゆっくり走る
日課
- (腕立て x 50 + 腹筋 x 50) x 3
頭痛
- 酷すぎて, ギョーム中にしばし横になっていた
- なんだろなあ
下痢
- 夕方以降は下痢
- なんだかなあ
今日のるびぃ ~ Ruby技術者認定試験【Gold】模擬問題を解いてみる (re: 5) ~
もう何度か解いているけど, 再び, Ruby技術者認定試験【Gold】模擬問題 を 3 ~ 5 問くらいずつ解いていく.
Q13. オブジェクト指向
以下の実行結果にならないようにするために __(1)__ に当てはまるものを選択する.
# コード class Foo def bar self.foo end __(1)__ def foo puts "foo" end end Foo.new.bar # 実行結果 foo
private
以下, irb による実行例.
irb(main):001:0> class Foo irb(main):002:1> def bar irb(main):003:2> self.foo irb(main):004:2> end irb(main):005:1> private irb(main):006:1> def foo irb(main):007:2> puts "foo" irb(main):008:2> end irb(main):009:1> end => :foo irb(main):010:0> Foo.new.bar NoMethodError: private method `foo' called for #<Foo:0x00556abbdde7c8> from (irb):3:in `bar' from (irb):10 from /path/to/.rbenv/versions/2.1.10/bin/irb:11:in `<main>'
以下, 解説より抜粋.
- private メソッドはレシーバを指定して呼び出すことは出来ない
- 何も記述しない場合は public メソッドになる為, 記述しなくても foo メソッドを呼び出すことが出来る
Q14. Enumerable#inject
以下のコードの実行結果から __(1)__ に当てはまるものを選択する.
# コード puts [1,2,3].__(1)__ # 実行結果 6
inject(0){|sum, i| sum + i }
以下, irb による実行例.
irb(main):011:0> puts [1,2,3].inject(0){|sum, i| sum + i } 6 => nil
以下, 解説より抜粋.
- inject メソッドは引数で初期値を取り, レシーバの要素の先頭から順にブロック内の処理を実行し結果を求めていくメソッド
- each メソッドに置き換えると以下のようになる
irb(main):001:0> n = 0 => 0 irb(main):002:0> [1, 2, 3].each do |x| irb(main):003:1* n += x irb(main):004:1> end => [1, 2, 3] irb(main):005:0> p n 6 => 6
Q15. 整数と浮動小数点数の演算
以下の実行結果にならないようにするために __(1)__ に当てはまるものを選択する.
# コード puts __(1)__ # 実行結果 2.5
5/2
以下, irb による実行例.
irb(main):006:0> 5/2 => 2 irb(main):007:0> 5.0/2 => 2.5 irb(main):008:0> 5/2.5 => 2.0 irb(main):009:0> 5.0/2.0 => 2.5
以下, 解説より抜粋.
フムフム.