Der ** Slice ** -Code wurde als Antwort im Ruby-Drill veröffentlicht, und ich konnte ihn nicht leicht verstehen, daher werde ich ihn als Memorandum belassen.
Es gibt zwei beliebige Zeichenfolgen. Ignorieren Sie den Unterschied zwischen Groß- und Kleinschreibung und wählen Sie ** True **, wenn sich eines der Zeichen am Ende des anderen Zeichens befindet Wenn nicht, erstellen Sie ein Programm, das ** False ** ausgibt. (Das heißt, es wird nicht zwischen Groß- und Kleinschreibung unterschieden).
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 #← Ich werde diese Zeile erklären!
puts "True"
else
puts "False"
end
end
puts "Bitte geben Sie das Alphabet ein"
code = gets.chomp
puts "Bitte geben Sie das angegebene Zeichen ein"
find_word = gets.chomp
end_other(code, find_word)
** Slice ** gibt den Teilstring zurück, nachdem der angegebene Bereich aus der Zeichenfolge entfernt wurde. War: grinsen: Referenz: https://docs.ruby-lang.org/ja/2.3.0/method/String/i/slice=21.html
Beispiel
string = "this is a string"
string.slice!(2) #=> "i"
string.slice!(3..6) #=> " is "
string.slice!(/s.*t/) #=> "sa st"
string.slice!("r") #=> "r"
: Warnung: Zählung beginnt bei ** 0 (Null) **! Ich bin hier gestolpert: Schweiß:
Daher kann die obige Antwort im Detail wie folgt erklärt werden: point_up:
Kommentar
def end_other(a,b)
a_down = a.downcase
#Konvertieren Sie alle Buchstaben der Variablen a in Kleinbuchstaben!
b_down = b.downcase
#Wandle alle Buchstaben der Variablen b in Kleinbuchstaben um!
a_len = a_down.length
#Ermitteln Sie die Anzahl der Zeichen in Variable a!
b_len = b_down.length
#Holen Sie sich die Anzahl der Zeichen in Variable b!
if a_down.slice!(-(b_len)..a_len - 1) == b_down
#-(b_len) :Gibt die Anzahl der Zeichen in Variable b vom letzten Zeichen in Variable a zurück
#a_len - 1 :Gibt den letzten Buchstaben der Variablen a zurück
#.. :Oben steht für Folgendes
#Kürzung
Es sieht so aus, aber ehrlich gesagt sogar ich selbst? ?? ?? Also werde ich die Charaktere tatsächlich anwenden: grinsend:
Kommentar Kommentar 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 Zeichen
b_len = b_down.length
#2 Zeichen
if a_down.slice!(-(b_len)..a_len - 1) == b_down
#-(b_len) :Gibt die letzten beiden Zeichen des Wortes zurück ...>ist r
#a_len - 1 :Gibt das letzte Zeichen des Wortes zurück ...>d
#a_down.slice!(-(b_len)..a_len - 1) :Wird rd sein
#Kürzung
Es kann ein wenig verwirrend sein. .. .. .. Entschuldigung für meinen Mangel an Schrift: Bogen:
Ich hoffe es hilft dir ein wenig: lach:
Recommended Posts