[Ruby / Refactoring] Du traitement itératif Ruby tel que Java et C au traitement itératif de type Ruby

introduction

Après avoir étudié le langage Java et C, j'implémente le programme en Ruby. À ce moment-là, l'instruction de boucle qui a été initialement implémentée a le contenu d'implémentation comme Java, Comme il ne ressemblait pas à Ruby, nous l'avons refactoré comme suit.

Je vous serais reconnaissant si vous pouviez m'apprendre s'il existe une méthode de description de type Ruby que la suivante.

Contenu du programme

Un programme qui affiche des nombres impairs de 0 à 100

Avant correction

Décrivez le processus itératif selon la syntaxe Ruby suivante. Facile à écrire car vous êtes habitué aux instructions en langage Java et C.

pour la variable dans l'objet faire
Processus à exécuter à plusieurs reprises
end

loop.rb


for n in 0..100 do
  if n % 2 != 0 then
    puts n
  end
end

modifié

En étudiant Ruby, vous vous rendrez compte qu'il est courant de les utiliser pour un traitement itératif. En outre, les méthodes qui gèrent les entiers sont impairs? En connaissant la méthode d'instance comme select, comme ci-dessous Vous pouvez modifier le processus itératif.

#Renvoie vrai si c'est impair
3.odd? #Résultat d'exécution vrai

#sélectionner la méthode
#Jugez chaque élément en blocs et ne renvoyez que les vrais éléments
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
puts array.select(&:odd?) #Résultat d'exécution 1 3 5 7 9

loop.rb


(0..100).select(&:odd?).each do |n|
  puts n
end

finalement

L'instruction Ruby for semble avoir chaque méthode exécutée au moment de l'exécution. (Il semble que le fait qu'une autre méthode soit réellement exécutée comme décrit ci-dessus s'appelle le sucre de syntaxe.) Je recommande personnellement chacun lors de l'écriture de processus itératifs dans Ruby.

De cette révision, j'aimerais tirer les leçons suivantes. *** Entrez Ruby et suivez Ruby *** J'aimerais travailler avec le même esprit lors de l'apprentissage d'autres langues.

Recommended Posts

[Ruby / Refactoring] Du traitement itératif Ruby tel que Java et C au traitement itératif de type Ruby
De Java à Ruby !!
Langage Java du point de vue de Kotlin et C #
AtCoder ARC 081 C hash à résoudre en Ruby, Perl et Java
De Java à C et de C à Java dans Android Studio
Tri par hachage AtCoder ABC 111 C résolu en Ruby, Perl et Java
Traitement itératif de Ruby en utilisant chaque méthode (trouver la somme de 1 à 10)
Essayez d'intégrer Ruby et Java avec Dapr
Processus itératif Ruby
Comment démarrer un indice à partir d'un nombre arbitraire dans le traitement itératif Ruby
traitement itératif java
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Convertir l'énumération Java et JSON vers et depuis Jackson
Résolution avec Ruby, Perl et Java AtCoder ABC 128 C
Générer des modèles de JSON à Swift, PHP, C #, JAVA
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Résolution avec Ruby, Perl et Java AtCoder ABC 113 C Reference
[Java] Changez la langue et les paramètres régionaux en anglais avec les options JVM
Comment écrire et noter lors de la migration de VB vers JAVA
ClassCastException se produit lors de la migration de Java7 vers Java8 ~ Génériques et surcharge ~
Résolution avec Ruby, Perl et Java AtCoder ABC 129 C (Partie 1)
Migration de Cobol vers JAVA
Nouvelles fonctionnalités de Java7 à Java8
Utiliser le programme C de Ruby
Connectez-vous de Java à PostgreSQL
Extension Ruby C et volatile
☾ Instruction Java / Repeat et instruction de contrôle de répétition
De Java inefficace à Java efficace
Histoire de remplacement C # et Java
Rechercher et exécuter une méthode à partir d'une instance avec traitement (java)
Comment écrire un exemple d'implémentation F03 ruby et C en temps réel hors ligne
Remarques sur la création de l'environnement de développement de Kotlin et la migration de Java vers Kotlin
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
J'ai essayé de générer une source de programme en langage C à partir de cURL
[Java] Comment convertir du type String en type Path et obtenir le chemin
Introduction à Scala du point de vue Java (basique)