我在Ruby中搞砸了一些.我有一个包含两个方法的类的文件和以下代码:
if __FILE__ == $0
seq = NumericSequence.new
puts "\n1. Fibonacci Sequence"
puts "\n2. Pascal\'s Triangle"
puts "\nEnter your selection: "
choice = gets
puts "\nExcellent choice."
choice = case
when 1
puts "\n\nHow many fibonacci numbers would you like? "
limit = gets.to_i
seq.fibo(limit) { |x| puts "Fibonacci number: #{x}\n" }
when 2
puts "\n\nHow many rows of Pascal's Triangle would you like?"
n = gets.to_i
(0..n).each {|num| seq.pascal_triangle_row(num) \
{|row| puts "#{row} "}; puts "\n"}
end
end
Run Code Online (Sandbox Code Playgroud)
为什么我运行代码并提供选项2,它仍然运行第一个案例?
你的case语法错了.应该是这样的:
case choice
when '1'
some code
when '2'
some other code
end
Run Code Online (Sandbox Code Playgroud)
看看这里.
您还需要将变量与字符串进行比较,作为gets读取并将用户输入作为字符串返回.
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |