Paizaでのメソッドメモ(Dランク付近)
paizaやってる中での落書きメモ。
#文字列データの場合
name = gets.chomp
#整数データの場合
number = gets.to_i
・gets:入力値の受け取り
・chomp:末尾に含まれる余分な改行などを取り除く機能らしい。
・to_i:入力データを整数に変えるメソッド
message = gets.chomp
puts message
message = gets.chomp
puts message
greeting = 'Hello world'
3.times do
puts greeting
end
◯.times do
end
で◯回実行する系のコードが書ける。
繰り返し処理(入力で回数指定)
count = gets.to_i
count.times do
name = gets.chomp
puts "Hello #{name}"
end
初めのgets.to_iで数字を代入。count.times doでその回数分指定してる。
繰り返し処理の中でname =で入力内容もその都度受け取ってる。
やから入力内容的にはしたみたいな感じ。
for文、each文での繰り返し
1から100までの数字で繰り返し処理を行う場合
for n in 1..100 do
puts n
end
(1..100).each do |n|
puts n
end
累乗の計算方法
累乗を計算したい場合の基本的な方法、**を使用する。
puts 2 ** 3
配列とかをそれぞれ冪乗したい場合はmapとか使えばOK!
numbers = [1, 2, 3, 4, 5]
squared_numbers = numbers.map { |n| n ** 2 }
p squared_numbers
>> [1, 4, 9, 16, 25]
splitメソッド
半角スペース区切りで2つの文字列を別々に取得する場合とかに使えるよ
入力が「hello paiza」の場合
s, t = gets.split(' ')
puts s
puts t
になる。文字列.split(区切り文字) で 文字列 を 区切り文字 で区切った配列として取得できるっぽい。
map(&:to_i)
map { |x| x.to_i }の簡潔な書き方
a, b, c = gets.split(" ").map(&:to_i)
とかってすると受け取った入力値を空白ごとに区切って配列にして、そのあとまとめて整数データに変換できる。