2017-07-17 77 views
1

我爲一個類作業創建了一個非常簡單的運行計算器,但是我無法在一行中顯示它。我想輸出爲「您的鍛鍊時間是X分鐘」。我可以在一行中得到前兩個部分,但是當我將「puts workout_time」替換爲「print workout_time」時,它不起作用。我得到了一些看起來像進度條的東西,以及「聯繫服務器」的消息。如果有問題,我正在使用repl.it。這是我的代碼:打印不能在Ruby中工作

#warm up and cool down times are fixed 
#user enters remaining values in minutes 

warm_up = 4 
cool_down = 4 
workout_time = [] 

puts "How many minutes per set do you want to run?" 
run = gets.chomp.to_i 

puts "How many minutes do you want to rest each set?" 
rest = gets.chomp.to_i 

puts "How many times do you want to repeat the run/walk?" 
sets = gets.chomp.to_i 

workout_time << (run+rest)*sets + warm_up + cool_down 

print "Your workout time will be " 
puts workout_time 
puts " minutes" 

謝謝!

+1

'puts「您的鍛鍊時間將爲#{workout_time.first}分鐘」'。這會做。我不明白你爲什麼使用數組,只是使用一個整數。 –

+1

哦哇 - 謝謝!我實際上嘗試過,或者我認爲我做過 - 我用方括號代替大括號。 –

+0

我同意@ sagarpandya82:沒有必要使用數組來保存一個值。你可以刪除'workout_time'變量的初始化(或者如果你保持它使用'0'而不是'[]'),並且稍後分配它:'workout_time =(run + rest)* sets ...' –

回答

1

在這裏看到:Concatenating string with number in ruby

您將要使用看跌期權語句「你的鍛鍊時間爲X分鐘」,但與#{workout_time}這樣的替換X:

puts "Your workout time will be #{workout_time} minutes" 
2

嘗試:

print "Your workout time will be %d minutes" % [workout_time]