[RUBY] Application des méthodes downcase et slice

Il s'agit d'une méthode de création d'un programme qui renvoie True lorsqu'il existe deux variables «a = abc» et «b = HiAbc» et que l'une des chaînes a et b se trouve à la fin de l'autre chaîne. Dans ce cas, abc de a existe dans les trois derniers caractères de b, donc il est vrai.

Il peut être créé à l'aide des deux méthodes suivantes.

Exemple d'utilisation de méthode

--Méthode Downcase pour convertir les majuscules et minuscules en minuscules

ruby


a = "AbC"
a_down = a.downcase
//Cela provoque un_abc est entré en bas

--Slice méthode si vous souhaitez couper une chaîne de caractères à une position spécifique

ruby


a = "AbC"
a_slice = a.slice(1)
//Cela provoque un_b est en tranche

Exemple de réponse

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

Commentaire

Les 2e à 5e lignes définissent les variables à utiliser par la suite.

ruby


a_down = a.downcase    //Toutes les chaînes de caractères de a sont réduites à un_Remplacer du duvet
b_down = b.downcase    //Toutes les chaînes de caractères de b sont réduites à a_Remplacer du duvet
a_len = a_down.length  // a_La longueur de la chaîne descendante est un_Remplacez len
b_len = b_down.length  // a_La longueur de la chaîne descendante est un_Remplacez len

Après cela, il est jugé par la déclaration if suivante.

ruby


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

La traduction japonaise de "b_down.slice (- (a_len) ..- 1 == a_down" est "cut out 1 to a_len from the right of b_down". En supposant que a_len vaut "3" et que b_down est "hiabc", cela signifie "couper 1 à 3 caractères à partir de la droite de hiabc". Ensuite, la chaîne de caractères coupée devient "abc". Gardez à l'esprit que la méthode `` slice calculera à partir du début si vous passez une valeur positive, et à partir de la fin si vous passez une valeur négative. ''

En utilisant l'opérateur "ou" pour le cas de b_down et la condition de a_down, il est possible de vérifier à partir des deux variables. (Honnêtement, quand je l'ai vu pour la première fois, je ne pouvais pas le traduire et j'étais déprimé.)

Recommended Posts

Application des méthodes downcase et slice
Fonctions et méthodes
[Java] Résumé personnel des classes et méthodes (basique)
[Docker-compose] Différence entre env_file et environnement. À propos de la priorité de l'application de variable d'environnement
Méthode de codage et principe de refactoring
Contexte et mécanisme de Fabric-loader
Résumé de FileInputStream et BufferedInputStream
[Java] Classe générique et méthode générique
chemins de rails et méthodes d'URL
Combinaison de recherche et each_with_index
Jugement de JSONArray et JSONObject
Méthodes Java et surcharges de méthodes
Opérateur résiduel et puissance (冪 puissance)
Avantages et inconvénients de Java
[Ruby] Méthodes singulières et classes singulières
Serveur Web et serveur d'applications Rails
Méthodes et classes Ruby (basiques)
Méthodes et classes abstraites Java
Comparaison du développement d'applications WEB avec Rails et Java Servlet + JSP
J'ai essayé de résumer les méthodes de Java String et StringBuilder