Ruby 如何使用用户输入调用方法
我有两个方法——添加和删除——我想用用户输入调用它们 因此,与其说这是一段很长的代码Ruby 如何使用用户输入调用方法,ruby,Ruby,我有两个方法——添加和删除——我想用用户输入调用它们 因此,与其说这是一段很长的代码 def delete; end def add; end case gets.chomp when 'Add' add when 'Delete' delete end 我在寻找与关键字eval类似的东西 eval gets.chomp 这样,如果输入是“add”,那么它将执行“add”方法 有什么想法吗? 谢谢 编辑--- 我是个白痴。评估工作。它似乎不起作用,因
def delete; end
def add; end
case gets.chomp
when 'Add'
add
when 'Delete'
delete
end
我在寻找与关键字eval
类似的东西
eval gets.chomp
这样,如果输入是“add”,那么它将执行“add”方法
有什么想法吗?
谢谢
编辑---
我是个白痴。评估工作。它似乎不起作用,因为我在其他地方出错了。不管怎样,谢谢你的回答 类似这样:
def a
puts "1"
end
def b
puts "2"
end
while true
eval(gets.chomp)
end
def delete; end
def add; end
puts "please chose a method add or delete"
ans = gets.chomp.downcase
case ans
when 'add'
add
when 'delete'
delete
else
puts "nothing selected"
end
您可以使用以下符号调用方法:
如果您的代码是这样的,那么它应该可以工作:
def a
puts "1"
end
def b
puts "2"
end
while true
eval(gets.chomp)
end
def delete; end
def add; end
puts "please chose a method add or delete"
ans = gets.chomp.downcase
case ans
when 'add'
add
when 'delete'
delete
else
puts "nothing selected"
end
您可以使用“send”方法,首先将您的方法放入类中,然后
试试这个:
class Methods
def show
print "show"
end
end
print "Enter your method name: "
methodName = gets.chomp
methodName.to_sym
myMethods = Methods.new
meMethods.send(methodName)
试试看!
你可以用这种方法来开发新的编程语言或大型程序。我特别说过,我不想在最后一行使用像codeI ment这样的case语句myMethods而不是meMethods