ジョギング
- 香椎浜 x 2 周
- 少しずつだけど, 足の痛みとかがほぐれてきている感
日課
- (腕立て x 50 + 腹筋 x 30) x 3
バタバタ
- CloudFormation 難しい
今日のるびぃ ~ Ruby技術者認定試験【Gold】模擬問題を解いてみる (11) ~
もう何度か解いているけど, Ruby技術者認定試験【Gold】模擬問題 を数問ずつ解いていく. ポイントは, 問題が何について問われているかがちゃんと理解出来ていること.
Q.50 class クラス
以下のコードの実行結果として正しいものを選択してください.
p Class.superclass
Module
以下, 確認.
[1] pry(main)> class Foo; end => nil [2] pry(main)> Foo.class => Class [3] pry(main)> Class.superclass => Module [4] pry(main)> Module.superclass => Object
Q.51 クラス定義
以下のコードの説明として正しいものを選択してください.
# コード class Foo private def foo puts "foofoofoo" end end puts Foo.new.respond_to?(:foo)
このコードを実行すると「false」が出力される
以下, 解答より抜粋.
- respond_to? メソッドは, オブジェクトが引数で指定した名前の
public
メソッドを持っているか調べるメソッド - 第 2 引数に true を指定すれば, 指定した名前の private メソッドを持っているかを調べることが出来る
以下, 確認.
[1] pry(main)> class Foo [1] pry(main)* private [1] pry(main)* def foo [1] pry(main)* puts "foofoofoo" [1] pry(main)* end [1] pry(main)* end => :foo [2] pry(main)> puts Foo.new.respond_to?(:foo) false => nil [4] pry(main)> puts Foo.new.respond_to?(:foo, true) true => nil
ドキュメントの以下の一文で納得.
オブジェクトが メソッド name を持つというのは、 オブジェクトが メソッド name に応答することができることをいいます
Q.52 ライブラリ
webrickライブラリの説明として正しいものを選択してください.
webrickライブラリは、Webサーバを実装するためのライブラリでRuby on Railsでも使用されている
webrick は, 汎用HTTPサーバーフレームワークで, HTTP サーバーを簡単に作ることが出来る.
$ echo "test" > index.html $ cat webrick.rb require 'webrick' server = WEBrick::HTTPServer.new({ DocumentRoot: './', BindAddress: '127.0.0.1', Port: '12345', })
上記を実行すると, 簡単に Web サーバーを起動することが出来る.
$ [2018-03-12 08:19:49] INFO WEBrick 1.4.2 [2018-03-12 08:19:49] INFO ruby 2.5.0 (2017-12-25) [x86_64-linux] [2018-03-12 08:19:49] INFO WEBrick::HTTPServer#start: pid=12690 port=12345
実際にアクセスしてみる.
$ curl localhost:12345 test 127.0.0.1 - - [12/Mar/2018:08:21:08 JST] "GET / HTTP/1.1" 200 5 - -> /