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.gets
essaie de lire les paramètres trouvés dans ARGV
et ne demande à la console que s'ils ne sont pas ARGV
trouvés. Pour forcer à lire depuis la console même si ce ARGV
n'est pas videSTDIN.gets
Kernel.gets
essayez de lire les fichiers trouvés ARGV
et ne demande à la console que s'ils ne sont pas ARGV
trouvés. Forcer à lire depuis la console même si ce ARGV
n'est pas une utilisation vide STDIN.gets
.
a.to_i
et b.to_i
pourrait être mieux
gets
blocage? 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 = gets
vous 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 summator
fichier du répertoire actuel):
chmod +x summator
./summator
> 1
1 = 1
> 2
1 + 2 = 3
Utiliser Ctrl + D
pour sortir