Je parle de Ruby mais pas de ROR. Il n'y a pas de mot sur l'entrée de la console.
Sergey
Réponses:
228
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?
Mettre à jour
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
J'ai un conflit avec cette solution: 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.
fguillen
3
a.to_iet b.to_ipourrait être mieux
Dorian
est le getsblocage? Sinon, y a-t-il un substitut qui bloque?
noMAD
1
@fguillen est une excellente réponse et ne devrait pas être caché dans les commentaires. Pourriez-vous peut-être y répondre, s'il vous plaît? Merci!
Dan Rosenstark
2
@Yar merci pour la suggestion, j'ai ajouté une mise à jour à la réponse elle-même.
fguillen
28
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
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 1223
et utilisez ces entrées comme ceci dans votre programme:
Réponses:
Parlez-vous
gets
?Quelque chose comme ca?
Mettre à jour
Kernel.gets
essaie de lire les paramètres trouvés dansARGV
et ne demande à la console que s'ils ne sont pasARGV
trouvés. Pour forcer à lire depuis la console même si ceARGV
n'est pas videSTDIN.gets
la source
Kernel.gets
essayez de lire les fichiers trouvésARGV
et ne demande à la console que s'ils ne sont pasARGV
trouvés. Forcer à lire depuis la console même si ceARGV
n'est pas une utilisation videSTDIN.gets
.a.to_i
etb.to_i
pourrait être mieuxgets
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
et tu l'appelles comme ça
la source
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.
La méthode chomp vous renvoie la chaîne, mais sans la nouvelle ligne de fin. Belle sauveur de vie méthode chomp.
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:
et créez un tableau qui ressemble à ceci:
Mais, si je veux passer une entrée limitée, nous pouvons utiliser quelque chose comme ça.
et utilisez ces entrées comme ceci dans votre programme:
la source
si vous souhaitez conserver les arguments de Terminal, essayez le code suivant:
la source
Si vous souhaitez créer une console interactive:
Utilisation (en supposant que vous mettez l'extrait ci-dessus dans le
summator
fichier du répertoire actuel):Utiliser
Ctrl + D
pour sortirla source