ジョギング
- 香椎浜 x 2
- 一生懸命走ったつもりだったけど, イマイチな感じだった
日課
- (腕立て x 50 + 腹筋 x 50) x 3
黄砂
- 酷い
- 洗濯物は部屋干し
曜日をビットで表現する
個人的に産業革命だった.
今更二郎かもしれないけど, ビットを使って曜日を表現する方法に感動して眠れない.
— Yohei Kawahara(かっぱ) (@inokara) 2018年4月16日
ケンカ
- 奥さんとケンカ
- 仕事がバタついてて, 体調が悪い奥さんに少し八つ当たりしてしまったかもしれない, ごめんなさい
今日のるびぃ ~ Ruby 技術者認定試験 Gold 演習問題を解いていく (26) ~
もう何度か解いているけど, Ruby 技術者認定試験合格教本 の演習問題と模擬試験を数問ずつ解いていく. ポイントは, 問題が何について問われているかがちゃんと理解出来ていること.
Q46. オブジェクト指向
以下のコードを実行すると何が表示されるか.
class A @@a = 0 def initialize @@a = @@a + 1 end def A.a @@a end end class B < A end A.new A.new B.new B.new p A.a
- 4 と表示される
以下, irb にて確認.
... irb(main):017:0> p A.a 4 => 4
以下, 解説より抜粋.
試しにインスタンス化した毎に A.a
を呼び出してみる.
irb(main):013:0> A.new => #<A:0x00560c60931d50> irb(main):014:0> p A.a 1 => 1 irb(main):015:0> A.new => #<A:0x00560c6092a258> irb(main):016:0> p A.a 2 => 2 irb(main):017:0> A.new => #<A:0x00560c60919ac0> irb(main):018:0> p A.a 3 => 3 irb(main):019:0> B.new => #<B:0x00560c60911988> irb(main):020:0> p A.a 4 => 4 irb(main):021:0> B.new => #<B:0x00560c60e19e80> irb(main):022:0> p A.a 5 => 5
クラス変数の利用は計画的に...
Q47. 組み込みライブラリ
オブジェクトのマーシャリングについて, 適切な記述を全て選べ.
- IO クラスのオブジェクトはマーシャリング出来ない
- 特異メソッドを持つオブジェクトはマーシャリング出来ない
- 無名のクラスやモジュールはマーシャリング出来ない
以下, 解説より抜粋.
- マーシャリング出来ないオブジェクト
- システムの状態を保存するオブジェクト (IO, File, Dir, Socket)
- 特異メソッドを定義したオブジェクト
- 無名クラスやモジュール
そもそもマーシャリングとは.
- Ruby のオブジェクトを文字列化してファイルに書きだしたり, 読み込んだりする機能
- 文字列化したデータをマーシャルデータと呼ぶ
以下, irb での実行例.
irb(main):002:0> m = Marshal.dump({:a => 1, :b => 2, :c => 3}) => "\x04\b{\b:\x06ai\x06:\x06bi\a:\x06ci\b" irb(main):003:0> Marshal.load(m) => {:a=>1, :b=>2, :c=>3}
Q48. 組み込みライブラリ
以下の実行結果になるように, [ x ] に記述する適切なコードを全て選べ.
require 'json' h = {'a' => 1, 'b' => 2} puts [ x ]
以下, 実行結果.
{"a": 1, "b": 2}
以下, irb での実行例.
irb(main):001:0> require 'json' => true irb(main):002:0> irb(main):003:0* h = {'a' => 1, 'b' => 2} => {"a"=>1, "b"=>2} irb(main):004:0> puts h.to_json {"a":1,"b":2} => nil irb(main):005:0> puts JSON.dump(h) {"a":1,"b":2} => nil
以下, 解説より抜粋.
フムフム.