Je veux écrire un simple programme A + B en Ruby, mais je ne sais pas comment travailler avec la console.
Parlez-vous de gets
?
puts "Enter A"
a = gets.chomp
puts "Enter B"
b = gets.chomp
c = a.to_i + b.to_i
puts c
Quelque chose comme ca?
Kernel.gets
essaie de lire les paramètres trouvés dans ARGV
et ne demande à console que s’il n’a pas trouvé ARGV
. Pour forcer la lecture depuis la console même si ARGV
n'est pas vide, utilisez STDIN.gets
vous pouvez également transmettre les paramètres via la ligne de commande. Les arguments de ligne de commande sont des magasins dans le tableau ARGV. alors ARGV [0] est le premier nombre et ARGV [1] le deuxième nombre
#!/usr/bin/Ruby
first_number = ARGV[0].to_i
second_number = ARGV[1].to_i
puts first_number + second_number
et vous l'appelez comme ça
% ./plus.rb 5 6
==> 11
Il existe de nombreuses façons de prendre en compte les commentaires des utilisateurs. Personnellement, j'aime utiliser la méthode. Lorsque vous utilisez gets, il obtient le chaîne que vous avez saisi, et cela inclut la touche , ENTREZ que vous avez appuyée pour mettre fin à votre saisie. .
name = gets
"mukesh\n"
Vous pouvez le voir dans irb; tapez ceci et vous verrez le\n, qui est le caractère “nouvelle ligne” que la touche Entrée produit: Type
name = gets
vous verrez quelque chose comme"mukesh\n"
Vous pouvez vous débarrasser du caractère embarrassant nouvelle ligne en utilisant la méthode chomp.
La méthode chomp vous rend la chaîne, mais sans le retour à la ligne final. Belle méthode de vie sauveur de la méthode chomp.
name = gets.chomp
"mukesh"
Vous pouvez également utiliser terminal pour lire l'entrée. ARGV est une constante définie dans le Objectclass. C'est une instance de classe Array et a accès à toutes les méthodes de la matrice. Puisqu'il s'agit d'un tableau, même s'il s'agit d'une constante, ses éléments peuvent être modifiés et effacés sans problème. Par défaut, Ruby capture tous les arguments de ligne de commande passés à un programme Ruby (divisé par des espaces) lorsque le fichier binaire de ligne de commande est appelé et les stocke sous la forme suivante: chaînes dans le tableau ARGV.
Lorsqu'il est écrit dans votre programme Ruby, ARGV prendra une commande en ligne de commande qui ressemble à ceci:
test.rb hi my name is mukesh
et créez un tableau qui ressemble à ceci:
["hi", "my", "name", "is", "mukesh"]
Mais si je veux faire passer un nombre limité d'entrées, nous pouvons utiliser quelque chose comme ceci.
test.rb 12 23
et utilisez ces entrées comme ceci dans votre programme:
a = ARGV[0]
b = ARGV[1]
si vous voulez conserver les arguments de Terminal, essayez le code suivant:
A = ARGV[0].to_i
B = ARGV[1].to_i
puts "#{A} + #{B} = #{A + B}"