我已经一周没有学习Ruby了。这是一种很棒的语言,我很享受它。
我还是个菜鸟。这里有一个问题:
我希望 Ruby 中的控制台应用程序要求用户按 Num-Keys 来选择选项,例如具有五个功能的程序。前四个函数用于 SUM、SUB、MUL 和 DIV,最后一个用于返回主菜单。
我试图编写代码,但我失败了。这是代码:
puts "Choose Option(Press the num key)n
1. For SUMn
2. For SUBn
3. For MULn
4. For DIVn
5. For Main Menu"
$x = 22
$y = 32
def gloabl_f(n) # <= global function start here
def sum(x,y) # <= SUM function
return x+y
end
def sub(x,y) # <= SUB function
return x-y
end
def mul(x,y) # <= MUL function
return x*y
end
def div(x,y) # <= DIV function
return x/y
end
def Main_Menu()
return puts "Choose Option(Press the num key)n
1. For SUMn
2. For SUBn
3. For MULn
4. For DIVn
5. For Main Menu"
end
n = gets.to_i
if n == 1
puts sum(22,32)
end
end # <= global function end here
基本上,我希望用户先输入两个数字,然后能够通过点击与上述功能相关的数字键来选择1,2,3,4,5的选项。
一些一般要点
- 在
- 函数中定义方法不是很习惯
- 你永远不会称呼
gloabl_f
也不称呼Main_Menu
,你只是定义它们。
下面是一个示例解决方案:
def get_numbers
puts "First number:"
x = gets.chomp.to_i
puts "Second number:"
y = gets.chomp.to_i
yield(x,y)
end
def sum(x,y)
x + y
end
puts "Choose Option:
1. For SUM
2. For SUB
3. For MUL
4. For DIV
5. Exit
"
n = gets.chomp.to_i
case n
when 1
get_numbers do |x,y|
puts "Sum: #{sum(x,y)}"
end
when 2
# code
when 3
# code
when 4
# code
else
puts "Exiting"
end
我把其他选项留给你实现。
puts "Choose Option(Press the num key)n
1. For SUMn
2. For SUBn
3. For MULn
4. For DIVn
5. For Main Menu"
x = 22
y = 32
n = gets.chomp.to_i
if n == 1
puts x + y
end