2013-04-08 5 views
-2
  1. Я делаю программное обеспечение, но я не хочу публиковать его исходный код прямо сейчас, потому что я не хочу, чтобы люди крали мою тяжелую работу. Я не груб и ничего подобного. Ниже приведен пример того, как выглядит программа, которую я создаю.
print "Username : " 
name = gets.chomp 


print "Password : " 
pass = gets.chomp 

if name =="user" and pass=="pa$$word" 
print "Hello" 

else print "Error, incorrect details" 

Теперь это простейшая форма Войти в рубин, но что плохого здесь происходит всякий раз, когда пользователь вводит неправильную информацию программа будет просто выключение и то, что я хочу, чтобы это произошло, что я хочу чтобы программа запрашивала у пользователя правильную информацию, пока не будет вставлена ​​правильная информация.Мне нужна помощь в ruby ​​

  1. Вы пользователь окон? Знаете, как программировать в пакетных файлах? примеры

    эхо Привет мир ЦБС

пауза

Так вот код для рубина

a. print "Command : " 
b. command = gets.chomp 

c. if command == "Hello" 

d. print "Hi, how are you?" 

e. elsif command == "help" 

f. print "Say hi to me, chat with me" 

теперь, что я хочу здесь тоже, как и в первом вопросе

Подробности: После использования r типа в «Привет» программа просто выключается, но я хочу здесь, чтобы программа попросила снова перейти к строке

+0

Нужно описать более описательное название. –

+0

Спасибо всем, кто ответил на мой вопрос. Наконец я нашел решение самостоятельно: D –

+0

Вы можете ответить на свой вопрос, чтобы люди могли голосовать на нем. –

ответ

0

Вот простой способ :) Если кто-то я столкнулся с проблемой, с которой столкнулся все, что вы делаете. Цикл «while»

number = 1   # Value we will give for a string named "number" 
while number < 10 # The program will create a loop until the value 
        # of the string named "number" will be greater than 10 

    puts "hello" 

        # So what we need to do now is to end the loop otherwise 
        # it will continue on forever 
        # So how do we do it? 
        # We will make the ruby run a script that will increase 
        # the string named "number"'s value every time we run the loop 

    number = number + 1 
end     # Now what happens is every time we run the code all the program 
        # will do is print "hello" and add number 1 to the string "number". 
        # It will continue to print out "hello" until the string is 
        # greater than 10 
0

Используйте цикл while, который постоянно запрашивает ввод и проверяет представление пользователя до тех пор, пока действительный результат не будет вошел.

username = nil 

while username.nil? 
    puts "What is your username?" 
    entered_username = gets.chomp 

    if entered_username == "Bob" 
    username = entered_username 
    end 
end 

puts "Thanks!" 

При запуске на терминале это производит:

What is your username? 
sdf 
What is your username? 
dsfsd 
What is your username? 
sdfsd 
What is your username? 
sdfds 
What is your username? 
sdf 
What is your username? 
Bob 
Thanks! 
0

1.

until (print "Username : "; gets.chomp == "user") and 
     (print "Password : "; gets.chomp == "pa$$word") 
    puts "Error, incorrect details" 
end 
puts "Hello" 

2.

loop do 
    print "Command : " 
    case gets.chomp 
    when "Hello" then print "Hi, how are you?"; break 
    when "help" then print "Say hi to me, chat with me"; break 
    end 
end 
Смежные вопросы