Réponses:
Parlez-vous 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.getsessaie de lire les paramètres trouvés dans ARGVet ne demande à la console que s'ils ne sont pas ARGVtrouvés. Pour forcer à lire depuis la console même si ce ARGVn'est pas videSTDIN.gets
Kernel.getsessayez de lire les fichiers trouvés ARGVet ne demande à la console que s'ils ne sont pas ARGVtrouvés. Forcer à lire depuis la console même si ce ARGVn'est pas une utilisation vide STDIN.gets.
a.to_iet b.to_ipourrait être mieux
getsblocage? Sinon, y a-t-il un substitut qui bloque?
vous pouvez également transmettre les paramètres via la ligne de commande. Les arguments de ligne de commande sont stockés dans le tableau ARGV. donc 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 tu l'appelles comme ça
% ./plus.rb 5 6
==> 11
Il existe de nombreuses façons de recueillir les commentaires des utilisateurs. J'aime personnellement utiliser la méthode obtient. Lorsque vous utilisez gets, il obtient la chaîne que vous avez tapée et qui inclut la touche ENTRÉE sur laquelle vous avez appuyé pour terminer votre entrée.
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: Tapez
name = getsvous verrez quelque chose comme"mukesh\n"Vous pouvez vous débarrasser du caractère de nouvelle ligne embêtant en utilisant la méthode chomp .
La méthode chomp vous renvoie la chaîne, mais sans la nouvelle ligne de fin. Belle sauveur de vie méthode chomp.
name = gets.chomp
"mukesh"
Vous pouvez également utiliser le terminal pour lire l'entrée. ARGV est une constante définie dans la classe Object . C'est une instance de la classe Array et a accès à toutes les méthodes de tableau. 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 (séparés par des espaces) lorsque le binaire de ligne de commande est appelé et les stocke sous forme de chaînes dans le tableau ARGV .
Lorsqu'il est écrit dans votre programme Ruby, ARGV prendra une commande de 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 passer une entrée limitée, nous pouvons utiliser quelque chose comme ça.
test.rb 12 23
et utilisez ces entrées comme ceci dans votre programme:
a = ARGV[0]
b = ARGV[1]
Si vous souhaitez créer une console interactive:
#!/usr/bin/env ruby
require "readline"
addends = []
while addend_string = Readline.readline("> ", true)
addends << addend_string.to_i
puts "#{addends.join(' + ')} = #{addends.sum}"
end
Utilisation (en supposant que vous mettez l'extrait ci-dessus dans le summatorfichier du répertoire actuel):
chmod +x summator
./summator
> 1
1 = 1
> 2
1 + 2 = 3
Utiliser Ctrl + Dpour sortir