我想允许人们使用我的程序建立多达几个条件,他们将从下拉列表中选择。
First drop down : object
Second drop down : attribute
Third drop down : sign
Fourth drop down : amount
因此,用户的选择可能看起来像这样;
person_a
age
>
18
是否可以在字符串中构建if
条件然后执行它?
答案 0 :(得分:10)
假设你有一个方法find_person
,它接受了这个人的名字并返回了人物对象,你可以这样做
find_person(person_name).send(attribute).send(sign, amount)
答案 1 :(得分:1)
您可能想看一下Ruby的eval
方法。它允许您评估存储在字符串中的Ruby表达式,因此您可以从菜单中构建if
语句并使用eval
对其进行评估。
eval
可能很危险,尤其是在处理用户输入时,但如果您小心这是您可以使用的一种方法。