2016-02-08 2 views
1
awords = [] 
word = "x" 

puts "Type as many words as you want, or press \"enter\" to quit." 
while word != ""enter code here 
    #get word from user 
    word = gets.chomp 
    if word == ('') 
    puts 'you input nothing' 
    end 

    #add to array 
    awords.push word 
end 



#user exited loop test for array before printing 

puts "Now sorting what you typed.. thanks." 
puts awords.sort 

Все работает нормально, но я хочу, чтобы эта программа пропускала последние два «ставит», если пользователи ничего не вводят. В любом случае, я мог бы просто прекратить программу после puts 'you input nothing', если пользователи решают не вводить, а нажмите enter?рубильные методы окончания, отличные от конца

+0

Эй Хун Ким, я ответил на ваш вопрос? Если да, можете ли вы отметить его как принятый ответ, если нет, что я могу вам разъяснить? – Dbz

ответ

2

Если вы не хотите ставить последние две строки, тогда вы должны проверить, есть ли значения в пределах awords.

awords = [] 
word = 'x' 

puts "Type as many words as you want, or press \"enter\" to quit." 
until word.empty? 
    word = gets.chomp 
    if word.empty? 
    puts 'you input nothing' 
    end 

    awords << word 
end 


# Check to make sure awords has values in it 
unless awords.empty? 
    puts "Now sorting what you typed.. thanks." 
    puts awords.sort 
end 

Теперь самый простой способ, чтобы остановить программу раньше, если входной сигнал не был когда-либо дал, чтобы добавить строку после puts 'you input nothing' с return.

puts 'you input nothing' 
return if awords.empty? 

Вы заметите, что я изменил много ваших == '' методов .empty?, потому что это рубин способ сделать этот тип проверки со строками.

-1
awords = [] 
word = 'x' 

puts "Type as many words as you want, or press \"enter\" to quit." 
until word.empty? 
    word = gets.chomp 
    if word.empty? 
    puts 'you input nothing' 
    end 

    awords << word 
end 


# Check to make sure awords has values in it 
unless awords.empty? 
    puts "Now sorting what you typed.. thanks." 
    puts awords.sort 
end 

спасибо, что было совершенно ясно

+0

Эй Хон Ким, похоже, мой ответ был полезен. Способ использования этого сайта - щелкнуть галочку под стрелками upvote/downvote на мой ответ, чтобы показать, что это был правильный ответ на ваш вопрос. Пару людей отказали в ответе, потому что вы этого не делали. – Dbz