Le code ** slice ** est sorti comme une réponse dans l'exercice Ruby, et je ne pouvais pas le comprendre facilement, donc je vais le laisser comme un mémorandum.
Il y a deux chaînes. Ignorez la différence entre les majuscules et les minuscules et sélectionnez ** Vrai ** si l'un des caractères est à la fin de l'autre caractère Sinon, créez un programme qui renvoie ** False **. (Autrement dit, il est insensible à la casse).
Ruby
def end_other(a,b)
a_down = a.downcase
b_down = b.downcase
a_len = a_down.length
b_len = b_down.length
if a_down.slice!(-(b_len)..a_len - 1) == b_down #← Je vais expliquer cette ligne!
puts "True"
else
puts "False"
end
end
puts "Veuillez saisir l'alphabet"
code = gets.chomp
puts "Veuillez saisir le caractère spécifié"
find_word = gets.chomp
end_other(code, find_word)
** slice ** renvoie la sous-chaîne après avoir supprimé la plage spécifiée de la chaîne. Était: sourire: Référence: https://docs.ruby-lang.org/ja/2.3.0/method/String/i/slice=21.html
Exemple
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
: avertissement: le compte commence à ** 0 (zéro) **! Je suis tombé ici: la sueur:
Par conséquent, la réponse ci-dessus peut être expliquée en détail comme suit: point_up:
Commentaire
def end_other(a,b)
a_down = a.downcase
#Convertissez toutes les lettres de la variable a en minuscules!
b_down = b.downcase
#Convertissez toutes les lettres de la variable b en minuscules!
a_len = a_down.length
#Obtenez le nombre de caractères dans la variable a!
b_len = b_down.length
#Obtenez le nombre de caractères dans la variable b!
if a_down.slice!(-(b_len)..a_len - 1) == b_down
#-(b_len) :Renvoie le nombre de caractères de la variable b à partir du dernier caractère de la variable a
#a_len - 1 :Renvoie la dernière lettre de la variable a
#.. :Ci-dessus, représente ce qui suit
#réduction
Ça ressemble à ça, mais honnêtement, même moi? ?? ?? Je vais donc appliquer les personnages: souriant:
Commentaire commentaire www
a = wOrD
b = Rd
def end_other(a,b)
a_down = a.downcase
#wOrD ⇒ word
b_down = b.downcase
#Rd ⇒ rd
a_len = a_down.length
#4 caractères
b_len = b_down.length
#2 personnages
if a_down.slice!(-(b_len)..a_len - 1) == b_down
#-(b_len) :Renvoie les deux derniers caractères du mot ...>est r
#a_len - 1 :Renvoie le dernier caractère du mot ...>ré
#a_down.slice!(-(b_len)..a_len - 1) :Sera rd
#réduction
Cela peut être un peu déroutant. .. .. .. Désolé pour mon manque d'écriture: arc:
J'espère que cela vous aide un peu: rire:
Recommended Posts