Actuellement, j'étudie pour obtenir la médaille d'argent de l'examen de certification d'ingénieur Ruby. J'ai encore beaucoup de compréhension de la langue, donc je vais sortir des bases.
irb(main):001:0> 1.9.ceil
=> 2
irb(main):004:0> 1.9.floor
=> 1
irb(main):006:0> 1.5.round
=> 2
irb(main):007:0> 1.4.round
=> 1
Les éléments du tableau sont séparés par le caractère spécifié comme argument et la chaîne de caractères combinée est renvoyée.
arr = ["Inutile", "Inutile", "Inutile", "Inutileァ", "Tsu!"]
p arr.join("!")
=> "Inutile!Inutile!Inutile!Inutileァ!!"
Je suis coincé avec une question simulée. D'abord à partir du code.
numbers = [3,89,40,39,29,10,50,59,69]
num = numbers.inject do |i,j|
i > j ? i : j
end
La méthode inject affecte l'argument à la première variable de bloc (i) et le premier élément du tableau à la deuxième variable de bloc (j) lorsqu'un argument est attaché. Exécutez l'expression après do. Lorsque l'exécution est terminée, attribuez le résultat du calcul à i et l'élément suivant du tableau à j. Exécutez l'expression. Après cela, il répète et renvoie le résultat lorsque les éléments du tableau atteignent la fin. Si aucun argument n'est donné, les premier et deuxième éléments du tableau sont affectés avant de commencer.
Opérateur conditionnel
i > j ? i : j
Après avoir exécuté l'expression sur le côté gauche (de? Vers la gauche) qui demande la vérité, mettez la valeur retournée lorsque true est à gauche de (:) et la valeur renvoyée lorsque false est placée à droite de (:). Donc, cette formule signifie "renvoie i si i est supérieur à j, j sinon". alors, Comme cela est exécuté par la méthode inject, il devient "un code qui compare les éléments du tableau, laisse un grand nombre et renvoie finalement le plus grand nombre du tableau".
1.step(100, 2) do |n|
puts n
end
À partir de la valeur du récepteur, l'expression est exécutée par incréments du deuxième argument jusqu'à ce que la valeur devienne le premier argument. La valeur numérique du récepteur est entrée comme valeur initiale dans la variable de bloc n. Lorsque vous traduisez le code, "Après avoir sorti le numéro de récepteur" 1 "(met n), ajoutez 2 au nombre et exécutez à nouveau (sortie 3). Courez jusqu'à ce que ce nombre atteigne 100. " Cette fois, des nombres impairs sont affichés et à la fin, 99,2 sont ajoutés et ils dépassent 100, donc cela se termine ici. Ce que vous faites est une sortie impaire de 1 à 100.
Recommended Posts