- ジョギング
- 日課
- 台風一過
- 頭痛とか肩こりとか
- 今日のるびぃ ~ Ruby 技術者認定試験合格教本 (Silver/Gold 対応) Ruby 公式資格教科書 模擬試験 (20) 標準添付ライブラリ (3) ~
ジョギング
- 香椎浜 x 2 周
- 引き続き, 左足太もも前あたりに突っ張るような痛みは少しやわらいだ感
- 全体的に体がバッキバキ
日課
- (腕立て x 50 + 腹筋 x 50) x 3
台風一過
ちょっと涼しい感じがした.
頭痛とか肩こりとか
- 朝からキツイ
今日のるびぃ ~ Ruby 技術者認定試験合格教本 (Silver/Gold 対応) Ruby 公式資格教科書 模擬試験 (20) 標準添付ライブラリ (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)
標準添付ライブラリ (12)
Q36. DateTime クラスのオブジェクトに 1 を加算するとどうなるか.
以下, 解答.
- 一日後の時刻を表す
以下, irb にて確認.
# 一日後の時刻を表す irb(main):001:0> require 'date' => true irb(main):002:0> d1 = DateTime.now => #<DateTime: 2018-07-15T18:37:23+09:00 ((2458315j,34643s,965591997n),+32400s,2299161j)> # 一日後 irb(main):003:0> d1 + 1 => #<DateTime: 2018-07-16T18:37:23+09:00 ((2458316j,34643s,965591997n),+32400s,2299161j)> # 一ヶ月後 irb(main):004:0> d1 >> 1 => #<DateTime: 2018-08-15T18:37:23+09:00 ((2458346j,34643s,965591997n),+32400s,2299161j)> # 一ヶ月前 irb(main):005:0> d1 << 1 => #<DateTime: 2018-06-15T18:37:23+09:00 ((2458285j,34643s,965591997n),+32400s,2299161j)> # 一日前 irb(main):006:0> d1 - 1 => #<DateTime: 2018-07-14T18:37:23+09:00 ((2458314j,34643s,965591997n),+32400s,2299161j)>
以下, 解説より抜粋.
- DateTime クラスのオブジェクトに 1 を加算すると, 1 日後の時刻を示す
- Date クラスでも同様に 1 日後の時刻を示す
- Time クラスの場合には 1 秒後の時刻を示す
以下, 諸々確認.
irb(main):009:0> d2 = Date.new(2018, 07, 15) => #<Date: 2018-07-15 ((2458315j,0s,0n),+0s,2299161j)> irb(main):010:0> d2 + 1 => #<Date: 2018-07-16 ((2458316j,0s,0n),+0s,2299161j)> irb(main):011:0> d2 >> 1 => #<Date: 2018-08-15 ((2458346j,0s,0n),+0s,2299161j)> irb(main):012:0> d2 << 1 => #<Date: 2018-06-15 ((2458285j,0s,0n),+0s,2299161j)> irb(main):013:0> d2 - 1 => #<Date: 2018-07-14 ((2458314j,0s,0n),+0s,2299161j)> irb(main):014:0> t1 = Time.now => 2018-07-15 18:42:01 +0900 irb(main):015:0> t1 + 1 => 2018-07-15 18:42:02 +0900 irb(main):016:0> t1 - 1 => 2018-07-15 18:42:00 +0900
標準添付ライブラリ (13)
Q39. rdoc コメントのマークアップとして適切な記述を全て選べ.
以下, 解答.
- *word* で太文字
- * で番号無しリスト
以下, Rdoc のサンプル.
class Foo CONST = [:const1, :const2, :const3] # :nodoc: # Foo オブジェクトの作成 # === 引数 # * +arg+ - ただの引数 # === memo # * *memo* - 太文字 (日本語やスペースは無視される) # * _memo_ - 斜体 (日本語やスペースは無視される) # * +memo+ - 等幅フォント (日本語やスペースは無視される) # * <b>メモ</b> - 太文字 (日本語が利用可能) # * <em>メモ</em> - 斜体 (日本語が利用可能) # * <tt>メモ</tt> - 等幅フォント (日本語が利用可能) def initialize(arg) @arg0 = arg end ...
標準添付ライブラリ (14)
Q41. 以下のコードを実行すると何が表示されるか.
d1 = Time.new d2 = Time.new p (d2 - d1).class
以下, 解答.
- Float
以下, irb にて確認.
irb(main):001:0> d1 = Time.new => 2018-07-15 23:42:33 +0900 irb(main):002:0> d2 = Time.new => 2018-07-15 23:42:33 +0900 irb(main):003:0> p (d2 - d1).class Float => Float
以下, 解説より抜粋.
- Time クラス同士の演算結果は Float 型になる
- DateTime クラス同士の演算結果は Rational 型になる
irb(main):005:0> require 'date' => true irb(main):006:0> d1 = DateTime.now => #<DateTime: 2018-07-15T23:43:54+09:00 ((2458315j,53034s,566531787n),+32400s,2299161j)> irb(main):007:0> d2 = DateTime.now => #<DateTime: 2018-07-15T23:44:00+09:00 ((2458315j,53040s,755208242n),+32400s,2299161j)> irb(main):008:0> (d2 - d1).class => Rational
標準添付ライブラリ (15)
Q48. 以下の実行結果になるように, [ x ] に記述する適切なコードを全て選べ.
# コード require 'json' h = {'a' => 1, 'b' => 2} puts [ x ] # 実行結果 {"a": 1, "b": 2}
以下, 解答.
以下, irb にて確認.
irb(main):009:0> require 'json' => true irb(main):010:0> irb(main):011:0* h = {'a' => 1, 'b' => 2} => {"a"=>1, "b"=>2} irb(main):012:0> puts h.to_json {"a":1,"b":2} => nil irb(main):013:0> puts JSON.dump(h) {"a":1,"b":2} => nil irb(main):015:0> puts JSON.generate(h) {"a":1,"b":2}
以下, 解説より抜粋.
- json ライブラリは Hash クラスに JSON 文字列を生成する
to_json
メソッドを追加する JSON.dump
メソッドでも同様の JSON 文字列を生成するJSON.dump
は与えられたオブジェクトを引数としてJSON.#generate
を呼び出している
フムフム.