[RUBY] Anwendung von Downcase- und Slice-Methoden

Dies ist eine Methode zum Erstellen eines Programms, das True zurückgibt, wenn zwei Variablen "a = abc" und "b = HiAbc" vorhanden sind und sich eine der Zeichenfolgen a und b am Ende der anderen Zeichenfolge befindet. In diesem Fall existiert abc von a in den letzten drei Zeichen von b, also ist es wahr.

Es kann mit den folgenden zwei Methoden erstellt werden.

Beispiel für die Verwendung von Methoden

--Downcase-Methode zum Konvertieren von Groß- und Kleinschreibung in Kleinbuchstaben

ruby


a = "AbC"
a_down = a.downcase
//Dies verursacht a_Daunen enthält abc

--Slice-Methode, wenn Sie eine Zeichenfolge an einer bestimmten Position ausschneiden möchten

ruby


a = "AbC"
a_slice = a.slice(1)
//Dies verursacht a_b ist in Scheibe

Antwortbeispiel

ruby


def compare(a, b)
  a_down = a.downcase
  b_down = b.downcase
  a_len = a_down.length
  b_len = b_down.length
  if b_down.slice(-(a_len)..- 1) == a_down || a_down.slice(-(b_len)..- 1) == b_down
    puts "True"
  else
    puts "False"
  end
end

Kommentar

Die 2. bis 5. Zeile definieren die Variablen, die danach verwendet werden sollen.

ruby


a_down = a.downcase    //Alle Zeichenketten von a werden reduziert, um a zu senken_Daunen ersetzen
b_down = b.downcase    //Alle Zeichenketten von b werden reduziert, um a zu senken_Daunen ersetzen
a_len = a_down.length  // a_Die Länge der Abwärtszeichenfolge beträgt a_Ersatz für len
b_len = b_down.length  // a_Die Länge der Abwärtszeichenfolge beträgt a_Ersatz für len

Danach wird es anhand der folgenden if-Anweisung beurteilt.

ruby


if b_down.slice(-(a_len)..- 1) == a_down || a_down.slice(-(b_len)..- 1) == b_down
  puts "True"
else
  puts "False"
end

Die japanische Übersetzung von "b_down.slice (- (a_len) ..- 1 == a_down" lautet "1 bis a_len von rechts von b_down ausschneiden". Angenommen, a_len ist "3" und b_down ist "hiabc", wird "1 bis 3 Zeichen von rechts von hiabc abgeschnitten". Dann wird die geschnittene Zeichenkette zu "abc". Beachten Sie, dass die Slice-Methode von Anfang an berechnet wird, wenn Sie einen positiven Wert übergeben, und vom Ende, wenn Sie einen negativen Wert übergeben. ``

Mit dem Operator "oder" für den Fall von b_down und der Bedingung von a_down ist es möglich, von beiden Variablen aus zu prüfen. (Ehrlich gesagt, als ich es zum ersten Mal sah, konnte ich es nicht übersetzen und war depressiv.)

Recommended Posts

Anwendung von Downcase- und Slice-Methoden
Funktionen und Methoden
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
[Docker-compose] Unterschied zwischen env_file und Umgebung. Informationen zur Priorität der Anwendung von Umgebungsvariablen
Codierungsmethode und Refactoring-Prinzip
Hintergrund und Mechanismus des Stoffladers
Zusammenfassung von FileInputStream und BufferedInputStream
[Java] Generics-Klasse und Generics-Methode
Schienenpfad und URL-Methoden
Kombination von Suche und jedem_mit_Index
Urteil von JSONArray und JSONObject
Java-Methoden und Methodenüberladungen
Rest- und Leistungstreiber (冪 Leistung)
Vor- und Nachteile von Java
[Ruby] Singuläre Methoden und singuläre Klassen
Rails-Webserver und Anwendungsserver
Ruby-Methoden und -Klassen (grundlegend)
Java abstrakte Methoden und Klassen
Vergleich der WEB-Anwendungsentwicklung mit Rails und Java Servlet + JSP
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen