如何构建一个简单的基于菜单的控制台应用程序



我已经一周没有学习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

相关内容

  • 没有找到相关文章

最新更新