LoginSignup
1
0

More than 1 year has passed since last update.

[Ruby]半角スペースで区切られた整数の足し算

Last updated at Posted at 2021-06-22

はじめに

piazaの問題で躓いてしまったので、学習したことをアウトプット!

コード

qiita.rb
nums = gets.split(' ').map(&:to_i) 
#splitで(' ')で区切って文字列を分割し配列を作る。
#mapで区切られたそれぞれの文字列を数値化する。
result = nums[0] + nums[1]
# 配列内の文字列を足す。
puts result

こっちの方がシンプル

qiita.rb
num1, num2 = gets.split.map(&:to_i)
puts num1 + num2

splitメソッドとは

Stringクラスで用意されている文字列を指定の文字や正規表現を使って分割するメソッド。

split.rb
split([sep[, limit]])
# 第一引数に指定したパターン(文字列や正規表現)に従って、文字列も分割し配列にする
# 第二引数を指定して分割数を指定する
# 引数を指定しない場合にが、空白文字列で分割する

str = "Tokyo,Osaka,Nagoya"
puts str.split(",", 2)
=> ["Tokyo", "Osaka,Nagoya"]

mapメソッドとは

配列の要素の数だけブロック内の処理を繰り返し、結果として作成された配列を返すメソッド。

map.rb
a1 = [100, 200, 300]
a2 = a1.map { |x| x * 2 }
puts a2 
=> [200, 400, 600]

#メソッドを用いるときは以下の省略形でもOK
オブジェクト.map(&:メソッド名)
a1.map(&:to_s)
=> ["100", "200", "300"]

参考資料

https://uxmilk.jp/21695 
https://www.javadrive.jp/ruby/string_class/index12.html

1
0
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
0