这可能在Ruby中吗?

时间:2009-08-16 13:55:53

标签: ruby

我想允许人们使用我的程序建立多达几个条件,他们将从下拉列表中选择。

First drop down : object
Second drop down : attribute
Third drop down : sign
Fourth drop down : amount

因此,用户的选择可能看起来像这样;

person_a
age
>
18

是否可以在字符串中构建if条件然后执行它?

2 个答案:

答案 0 :(得分:10)

假设你有一个方法find_person,它接受​​了这个人的名字并返回了人物对象,你可以这样做

find_person(person_name).send(attribute).send(sign, amount)

答案 1 :(得分:1)

您可能想看一下Ruby的eval方法。它允许您评估存储在字符串中的Ruby表达式,因此您可以从菜单中构建if语句并使用eval对其进行评估。

eval可能很危险,尤其是在处理用户输入时,但如果您小心这是您可以使用的一种方法。