Paizaでのメソッドメモ(Dランク付近)

paizaやってる中での落書きメモ。




#文字列データの場合
name = gets.chomp

#整数データの場合
number = gets.to_i


・gets:入力値の受け取り
・chomp:末尾に含まれる余分な改行などを取り除く機能らしい。
・to_i:入力データを整数に変えるメソッド



message = gets.chomp
puts message
message = gets.chomp
puts message

入力値
hoge
name
ってやると、最初のmessageでhogeが代入されて出力、その次nameで上書きされて出力、って言う感じ。



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 =で入力内容もその都度受け取ってる。
やから入力内容的にはしたみたいな感じ。

3 #3回にしたならその下の行で3行分文字列も入力する必要がある
world
paiza
ruby

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

hello 
paiza

になる。文字列.split(区切り文字) で 文字列 を 区切り文字 で区切った配列として取得できるっぽい。

map(&:to_i)


map { |x| x.to_i }の簡潔な書き方

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

とかってすると受け取った入力値を空白ごとに区切って配列にして、そのあとまとめて整数データに変換できる。