記憶の外付けHDD

切実に頭にUSBのコネクターがほしいです。なるべくtype-cでお願いしたいです。(忘れないように、プログラミング学習で学んだことを投稿してます)

【Ruby】(解説)競プロで使う「標準入力」

はじめに

3日に1回くらい、Atcoderの問題を解こうかな〜と思いつきました。
まず最初に、この問題(A - Product)やってみたら、そもそも「標準出力わかんねぇ」と気付きました。

どうやら、a, b = gets.split.map(&:to_i)というコードを使うといい感じらしいので、以下でその内容を解説してみようと思います。

参考にさせていただきました。
【Rubyで競プロ】よく使う、標準入力を扱う方法あれこれ

解説

コード

a,b = gets.split.map(&:to_i)

解説

0.前提

この標準出力は、スペース区切りの数列を標準出力する場合に使用する。

↓スペース区切りの数列はこんな感じ


3 4


1.大まかな構造

多重代入というものを使用して、変数aと変数bに配列から値を代入してます。

ドキュメント

2.gets

getsメソッドは、入力されたものを文字列で返します。
注意点は

  • 文字列で返す→数字は数値型に変更する必要がある(to_i)
  • 最後に改行が入る→場合によっては、chompをする

ドキュメント

3.split

splitメソッドは、引数で渡した区切り文字で、文字列を配列に分割するメソッドです。

引数を指定しない場合は、空白で分割される。

ドキュメント

4.map(&:to_i)

mapメソッドを使って、3.splitで作成した配列の中身(文字列)を数値に変換し、新たな配列を作成します。

ドキュメント

【map】

【ぼっち演算子

さいごに

これからは2、3日に1回くらい競プロの問題を解こうかなって思ってます。

以上