はじめに
これは学習のメモになります。
スペース区切りの2つの整数と、文字列が入力されます。2つの整数の範囲の部分文字列を、大文字に出力していきます。
入力例1
2 6
this is a pen
出力例1
tHIS Is a pen
入力例2
2 6
Welcome to the paiza! I`m studying ruby!
出力例2
WELCOMe to the paiza! I`m studying ruby!
ソースコード
nums = gets.chomp.split(' ')
str = gets.chomp
(1..(str.size)).each do |i|
if nums[0].to_i <= i && i <= nums[1].to_i
print str[i - 1].upcase
else
print str[i - 1]
end
end
解説
nums = gets.chomp.split(' ')
str = gets.chomp
getsメソッド: 入力を一行ごとに「文字列」で受け取る。
chompメソッド: 文字列の改行を取り除く。
splitメソッド: 文字列を分解して配列にする。
(1..(str.size)).each do |i|
1からsize
メソッドでstr
の文字列をi変数に代入して1つずつ繰り返す。(13回)
if nums[0].to_i <= i && i <= nums[1].to_i
print str[i - 1].upcase
else
print str[i - 1]
end
if文でnums[0](例1だと2)よりもi(配列番号)が大きいかつ、nums[1](例1だと6)よりもi
(配列番号)が少ない場合、upcase
で大文字に変換する。
そうでなければそのまま出力。
最後に
ちょっと説明がわかりづらいかもしれません。
間違っているところがあればご指摘いただけると幸いです。