1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ruby 指定範囲だけ大文字

Posted at

はじめに

これは学習のメモになります。

スペース区切りの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で大文字に変換する。

そうでなければそのまま出力。

最後に

ちょっと説明がわかりづらいかもしれません。
間違っているところがあればご指摘いただけると幸いです。

1
0
2

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?