ジョギング
- 香椎浜 x 2 周
- 左足の甲が...引き続き...
日課
- (腕立て x 50 + 腹筋 x 50) x 3
気付いたら
もう, 3 月も終わる. 3 月が終わるからか分からないんだが...
昨日から河村隆一のものまねが止まらないんだが。
— Yohei Kawahara(かっぱ) (@inokara) 2018年3月30日
Kubernetes
ちゃんと体系的に学びたいなと思ったので.
今日のるびぃ ~ Ruby 技術者認定試験 Gold 演習問題を解いていく (13) ~
もう何度か解いているけど, Ruby 技術者認定試験合格教本 の演習問題と模擬試験を数問ずつ解いていく. ポイントは, 問題が何について問われているかがちゃんと理解出来ていること.
Q4. 文法
以下のコードを実行するとどうなるか.
ary = Array.new(3, 'a') ary[0].next! p ary
- ["b", "b", "b"] と表示
why?
- Array.new で
["a", "a", "a"]
が作成されるが, 要素の全てが同一の文字列オブジェクトa
を参照する - そのため, 要素の 1 つを変更すると, 全ての要素が変更される
irb で確認
irb(main):001:0> ary = Array.new(3, 'a') => ["a", "a", "a"] irb(main):002:0> ary[0].next! => "b" irb(main):003:0> p ary ["b", "b", "b"] => ["b", "b", "b"]
Q5. オブジェクト指向
以下の実行結果になるように, [ x ] に記述する適切なコードを全て選ぶ.
class X [ x ] def initialize @x = 0 end end a = X.new a.x = 10 puts a.x
以下, 実行結果.
10
以下, 解答.
# 1 attr_reader x: attr_writer x: # 2 attr_accessor :x # 3 def x @x end def x=(x) @x = x end
why?
- インスタンス変数の値を読み書きするメソッドをアクセサメソッドと呼ぶ
- 読み書きであれば
attr_accessor
を使う (attr_writer
とattr_reader
と同義)
Q6. 組み込みライブラリ
[ x ] に記述する適切なコードを全て選ぶ.
Thread.[ x ] do ... end
- start
- new
- fork
why?
Thread クラスで, スレッドを生成し実行するメソッドは以下の通り.
- start
- new
- fork
フムフム