Plage spécifiée par Ruby uniquement en majuscules

introduction

Ce sera une note d'apprentissage.

Deux entiers séparés par des espaces et une chaîne sont saisis. La sous-chaîne de la plage de deux entiers est sortie en majuscules.

Exemple d'entrée 1
2 6
this is a pen

Exemple de sortie 1
tHIS Is a pen
Exemple d'entrée 2
2 6
Welcome to the paiza! I`m studying ruby!

Exemple de sortie 2
WELCOMe to the paiza! I`m studying ruby!

Code source

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

Commentaire

nums = gets.chomp.split(' ')
str = gets.chomp

méthode gets: reçoit l'entrée sous forme de "chaîne de caractères" ligne par ligne. méthode chomp: supprime les sauts de ligne dans les chaînes de caractères. méthode split: divise une chaîne de caractères en un tableau.

(1..(str.size)).each do |i|

De 1 à la méthode size, assignez la chaîne de caractères de str à la variable i et répétez une par une. (13 fois)

if nums[0].to_i <= i && i <= nums[1].to_i
    print str[i - 1].upcase
  else
    print str[i - 1]
  end

Dans l'instruction if, i (numéro de séquence) est plus grand que nums [0](2 dans l'exemple 1) et i est plus grand que nums [1](6 dans l'exemple 1) Si (numéro de séquence) est petit, convertissez-le en majuscules avec ʻupcase`.

Sinon, sortez tel quel.

finalement

Il peut être un peu difficile de comprendre l'explication. Je vous serais reconnaissant si vous pouviez signaler des erreurs.

Recommended Posts

Plage spécifiée par Ruby uniquement en majuscules
Mettez en majuscule uniquement la plage spécifiée avec la sous-chaîne. (Comment utiliser la sous-chaîne)
majuscule rubis
Explication sur l'objet Ruby Range