LoginSignup
1
1

Ruby2.1技術者認定試験 Silver hello問題解説

Posted at

私は今、Rubyを使っており、その知識を深めるためRuby2.1技術者認定試験 Silverをプログラミングスクールで毎日解いています。その中で、1日1問、解説を載せ、積み上げを行なっていきます。

よれけば、ご覧ください。

今日の問い

s = ["h", "e", "l", "l", "o"].join("").chars.to_a
print s

実行結果はどうなるか?

このコードは、文字列 "hello" の各文字を個別の要素として持つ配列 s を作成し、その内容を出力。

解説:

  1. ["h", "e", "l", "l", "o"] は、文字列 "hello" の各文字を要素として持つ配列を表す。
  2. join("") は、配列の要素を空の文字列 "" で連結することを意味する。つまり、配列の要素を連結して文字列 "hello" を作成する。
  3. chars メソッドは、文字列を個別の文字の配列に変換する。この場合、文字列 "hello" が文字の配列 ["h", "e", "l", "l", "o"] に変換される。
  4. to_a メソッドは、オブジェクトを配列に変換する。chars メソッドによって返された文字の配列は既に配列なので、このステップは不要だが、影響なし。
  5. print s は、配列 s の内容を出力。

join構文

array.join(separator)

**arrayは結合したい要素を持つ配列を指定し、separator**は要素間の区切り文字列を指定する。区切り文字列を空の文字列 "" とすることで、要素を連結する際に区切り文字を挿入しないことを意味する

charsメソッド構文

string.chars

**stringは対象の文字列を指定する。chars**メソッドは、指定された文字列を個別の文字の配列として返す。

具体例

s = "hello"
s.chars

上記のコードでは、文字列 "hello" の各文字を個別の要素として持つ配列を作成するために、**chars**メソッドが使用されている。

**charsメソッドは文字列を構成する各文字を個別の要素として取得するために使用される。例えば、文字列 "hello" をcharsメソッドで処理すると、["h", "e", "l", "l", "o"]**という配列が得られる。

なお、**charsメソッドは文字列専用のメソッドであり、配列に対しては使用できない。配列を文字列に変換する場合には、join**メソッドを使用する。

出力結果

["h", "e", "l", "l", "o"]

解説は以上です。

問いの答え:

["h", "e", "l", "l", "o"]
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1