Ruby技術者認定試験 Silver試験の模擬問題集を解いてみた #2
概要
前回の続きとなります。今回はQ6〜Q14までで調べたものをまとめていきます。
前回の記事はこちら
利用サイト
https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0
実践
問題8
この問題は配列に対するメソッドの使い方を理解できているかの問題となります。
- compactメソッド⋯自身から nil を取り除いた配列を生成して返します
例:
[1,nil,nil,2].compact => [1, 2]
- flattenメソッド⋯多次元配列を一次元配列にして返します
例:
[1,2,3,[1,2,3],4,5].flatten => [1, 2, 3, 1, 2, 3, 4, 5]
- joinメソッド⋯配列内の中を連結して文字列として返します
例:
[1,2,3].join => "123" # String
この問題ではブロックが後ろにあるので、繰り返し処理を行うEnumerableモジュールのメソッドを選べるかどうかでした。
問題9
この問題はdeleteメソッドについて理解できているかどうかの問題です。
- deleteメソッド⋯メソッドのレシーバーとなったオブジェクトから文字列を取り除いた文字列を返すします
例:
"a b c d e".delete("ae") => " b c d "
問題10
まずヒアドキュメントというのが聞いたことすらありませんでした。ヒアドキュメントとは複数の文字列を埋め込む書き方のようです。
下記のサイトがわかりやすく書かれていたのでおすすめです。
Rubyのヒアドキュメントの書き方いろいろ - Hack Your Design!
終わりのE0F
をインデントする場合は最初のEOF
を-EOF
という形にしなければならないということを知っているかの問題でした。
問題11
- clearメソッド⋯空の配列、ハッシュを返します
この問題では、配列とハッシュで同じ動きをするメソッドを知っているかどうかの問題となります。clearメソッド以外にも中身を置き換えるreplaceメソッドなども配列とハッシュで同じ動きをします。
問題13
- chompメソッド⋯文字列の末尾にある改行(\r、\r\n、\n)を削除した文字列を返します。
*末尾以外の改行は削除しません。
ちなみに\r、\r\n、\nの違いはOSによって使いわけるらしいです。
テキストファイル - 改行の、\nと\r\nの違いは何ですか? - スタック・オーバーフロー
問題14
- chopメソッド⋯文字列の末尾の文字を削除し文字列を返します。ただし、末尾に改行が入っていた場合は改行を削除して文字列を返します。
問題13のchompメソッドとの違いは、chopメソッドは末尾が改行でなくても1文字削除して返すことです。
まとめ
今回は6~14問までやりました。
基礎的な問題が多いのでこの辺りの問題はRubyを使う者としてスラスラと答えられるようにします。