ようへいの日々精進XP

よかろうもん

2018 年 07 月 20 日 (金) 〜 Ruby 認定技術者試験がまた不合格だったけど, #fukuokarb 100 回目に参加して心が救われた感 〜

ジョギング

  • お休み

日課

  • お休み

Ruby 技術者認定試験 Gold

  • 落ちた
  • めちゃくちゃ悔しい...

不合格が判った瞬間は「なんで?」って思ったけど, 冷静になって最後まで悩んだ問題とかを見直してみたら, いい感じで間違っていたので妥当な結果だったのかもしれない.

ランチ

  • 試験に落ちて傷心状態で奥さんと博多ランチ
  • 寿司を食べたのだけど, あまりの切なさに味わうことが出来なかった...

Fukuoka.rb #100

fukuokarb.connpass.com

最近, 参加している Fukuoka.rb が, なんと 100 回を迎えるとのことで, 祝い宴に便乗して今日の不合格の話を LT で喋った. 自分を含めて 10 名くらいの rubyist の皆さんが Ruby に対する熱い想いを語っていて, 皆さん, 本当に Ruby が好きで, そこで出会う人たちとの縁とかそういうものも含めて大切にされているんだなーと感じた. その中でも, 福岡に縁のある rubyist の一人である @hmsk さんのサンフランシスコからのビデオレターがとても良かった.

ということで, これからも fukuoka.rb にじゃんじゃん参加して, ゆるっと楽しみながら Ruby 力を上げられればなあと考えている.

企画, 運営スタッフの皆さん, 本当にありがとうございました. 今後共宜しくお願いしまっす.

今日のるびぃ

今日のるびぃ ~ Ruby 技術者認定試験合格教本 (Silver/Gold 対応) Ruby 公式資格教科書 模擬試験 (10) 組み込みライブラリ (3) ~

irb に動作確認環境は以下の通り.

$ ruby --version
ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-linux]
$ irb --version
irb 0.9.6(09/06/30)

組み込みライブラリ (7)

Q27. 以下の実行結果になるように, [ x ] に記述する適切なコードを選べ.

# コード
/(\d+)/ =~ 'abcd12efgh'
puts [ x ]

# 実行結果
12

以下, 解答.

  1. $1

以下, irb にて確認.

irb(main):001:0> /(\d+)/ =~ 'abcd12efgh'
=> 4
irb(main):002:0> puts $1
12
=> nil

以下, 解説より抜粋.

ちなみに, $0 は以下の通り, irb (実行されるコードのファイル名) となる.

irb(main):003:0> puts $0
irb

組み込みライブラリ (8)

Q19. 以下の実行結果になるように, [ x ] に記述する適切なコードを全て選べ.

# コード
x = ['abc', 'defgk', 'lopq']
p x.sort{|a, b| [ x ]}

# 実行結果
['abc', 'lopq', 'defgk']

以下, 解答.

  1. a.size <=> b.size
  2. a.size - b.size

以下, irb による確認.

irb(main):001:0> x = ['abc', 'defgk', 'lopq']
=> ["abc", "defgk", "lopq"]
irb(main):002:0> p x.sort{|a, b| a.size <=> b.size}
["abc", "lopq", "defgk"]
=> ["abc", "lopq", "defgk"]
irb(main):003:0> x = ['abc', 'defgk', 'lopq']
=> ["abc", "defgk", "lopq"]
irb(main):004:0> p x.sort{|a, b| a.size - b.size}
["abc", "lopq", "defgk"]
=> ["abc", "lopq", "defgk"]

以下, 解説より抜粋.

ちなみに, 他の選択肢の場合.

irb(main):006:0> p x.sort{|a, b| b.size <=> a.size}
["defgk", "lopq", "abc"]
=> ["defgk", "lopq", "abc"]
irb(main):007:0> p x.sort{|a, b| b.size - a.size}
["defgk", "lopq", "abc"]
=> ["defgk", "lopq", "abc"]
irb(main):008:0> p x.sort{|a, b| a <=> b}
["abc", "defgk", "lopq"]
=> ["abc", "defgk", "lopq"]
irb(main):009:0> p x.sort{|a, b| b <=> a}
["lopq", "defgk", "abc"]
=> ["lopq", "defgk", "abc"]

組み込みライブラリ (9)

Q6. [ x ] に記述する適切なコードを全て選べ.

Thread.[ x ] do
end

以下, 解答.

  1. start
  2. new
  3. fork

以下, 解説より抜粋.

  • Thread クラスで, スレッドを生成し実行するメソッドは以下の通り
    • start
    • new
    • fork

以下, irb による確認.

irb(main):010:0> Thread.start do; end
=> #<Thread:0x00563865b96330 run>
irb(main):011:0> Thread.new do; end
=> #<Thread:0x00563865b8df78 dead>
irb(main):012:0> Thread.fork do; end
=> #<Thread:0x00563865b89bf8 run>

フムフム.