ジョギング
- 香椎浜 x 2 周
- なんだかずーっと背中が辛い
日課
- (腕立て x 50 + 腹筋 x 30) x 3
明日から
- 東京出張, 金曜日に戻る予定
今日のるびぃ ~ Ruby技術者認定試験【Gold】模擬問題を解いてみる (5) ~
もう何度か解いているけど, Ruby技術者認定試験【Gold】模擬問題 を 3 ~ 5 問くらいずつ解いていく.
Q17. Proc
以下のコードの実行結果から__(1)__に当てはまるものを選択してください.
# コード sum = Proc.new{|x, y| x + y} puts __(1)__ # 実行結果 3
sum.call(1, 2)
- Proc.new ではブロックで指定した手続きを表すオブジェクト
- 手続きを呼び出す時は Proc オブジェクトに対して call メソッドを呼ぶ
- ブロック引数は call メソッドの引数で渡すことができる
以下, 実行結果.
[1] pry(main)> sum = Proc.new{|x, y| x + y} => #<Proc:0x000056411fc9e2b0@(pry):1> [2] pry(main)> puts sum.call(1, 2) 3 => nil
Q18. StringIO
stringioライブラリの説明として正しいものを選択してください.
1. 文字列をIOオブジェクトのように扱うことができる
Q19. YAML
以下のコードを実行した結果を選択してください.
# コード require 'yaml' dir = <<EOY file1: name: file1.txt data: text EOY p YAML.load(dir)
{"file1"=>{"name"=>"file1.txt", "data"=>"text"}}
- YAML ライブラリを利用することで, 人間が読めるテキスト形式でオブジェクトを表現することが出来る
- YAML はあくまで
仕様
であり, それを処理するライブラリの実装
が必要 - Ruby 2.0.0 以降はバックエンドライブラリとして psych が利用されている
以下, 実行結果.
[3] pry(main)> require 'yaml' => true [4] pry(main)> dir = <<EOY [4] pry(main)* file1: [4] pry(main)* name: file1.txt [4] pry(main)* data: text [4] pry(main)* EOY => "file1:\n name: file1.txt\n data: text\n" [5] pry(main)> p YAML.load(dir) {"file1"=>{"name"=>"file1.txt", "data"=>"text"}} => {"file1"=>{"name"=>"file1.txt", "data"=>"text"}}
ちなみに, psych を利用した実行例.
[1] pry(main)> require 'psych' => true [2] pry(main)> Psych.load("--- foo") => "foo" [3] pry(main)> Psych.dump("foo") => "--- foo\n...\n" [4] pry(main)> { :a => 'b'}.to_yaml => "---\n:a: b\n"
Q20. コマンドラインオプション
Ruby で使用可能なオプションではないものを選択してください.
-t