超初心者がエンジニアになるまでの力戦奮闘の軌跡

プログラミングをメインで学んだことのアウトプットブログ

Ruby技術者認定試験 Silver試験の模擬問題集を解いてみた #3

概要

前回の続きとなります。今回はQ15〜Q20までで調べたものをまとめていきます。

前回の記事はこちら

利用サイト

https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0

実践

問題15

  • ioクラス⋯プログラムの外部とデータのやりとりをするための機能として入力(Input)と出力(Output)を提供するクラス

Ruby IOクラスについて学ぶ - Qiita

この問題はioクラスのメソッドの使い分けができているかを確認する問題となります。

  • readlineメソッド⋯一行読み込んで、読み込みに成功した時にはその文字列を返します。

  • rewindメソッド⋯ファイルポインタ(ioオブジェクトが指すファイルの位置)を先頭に移動。行番号を0にします。

  • seek(offset,whence)メソッド⋯ファイルポインタをwhenceからoffsetのバイト分移動し、移動で来たら0を返します。

問題18

この問題は正規表現についての問題です。

正規表現に関しては下記のサイトが詳しく書かれているのでそちらを参考にしていただければこの問題も解けると思います。

Ruby 正規表現の使い方 - Qiita

/^[hc].*o$/i

まず、^[hc]で先頭がhかcから始める文字列をマッチします。

次に.では改行以外の任意の文字列をあらわし、o$で文字列の末尾がoで終わるものをマッチします。

これらのことから選択肢の中で、「hかcから始まりoで終わる文字列」を選択すればOKです。

問題19

定義されている定数に値を新しく代入した際にどうなるかの問題です。

個人開発しかしたことがないため定数を使う機会がなく、調べたことがありませんでした。下記のサイトがわかりやすく説明されています。

【Ruby】 定数について学んでみよう。変数との違いは? | Pikawaka

Rubyの場合、定数に再代入するとwarningが発生しますが再代入可能、つまり値は書き変わってしまいます。

問題20

File#joinはFile::SEPARATOR(/)を第一引数の末尾や第二引数の先頭の/を削除してから、間に入れて連結をします。

irb(main):028:0> File.join("a","v")
=> "a/v"
irb(main):029:0> File.join("a","/v")
=> "a/v"
irb(main):030:0> File.join("a","/v","c")
=> "a/v/c"

まとめ

今回は15~20問までやりました。

あまり使用したことがない知識が多かったですが、しっかりと理解していきたいです。