Ruby 在方法上指示布尔值的其他方法

Ruby 在方法上指示布尔值的其他方法,ruby,rspec2,Ruby,Rspec2,我目前正试图重构一些重复的代码。有一个特别的说法给我带来了最大的麻烦: some_class = double("some_class", some_method?: true) 我需要用一个变量名替换一些_方法。但是,下面的方法不起作用。下面只是我尝试做的一个例子 some_method = unique_method some_class = double("some_class", some_method?: true) 是否知道其他书写方式: some_method? # where

我目前正试图重构一些重复的代码。有一个特别的说法给我带来了最大的麻烦:

some_class = double("some_class", some_method?: true)
我需要用一个变量名替换一些_方法。但是,下面的方法不起作用。下面只是我尝试做的一个例子

some_method = unique_method
some_class = double("some_class", some_method?: true)
是否知道其他书写方式:

some_method? # where some_method is a var. 
我需要能打电话

some_class.some_method? 
对于我的测试用例


非常感谢您的帮助。提前谢谢。

用一个字符串围绕它,应该可以,或者您可以使用
:some_方法?=>值
语法

def some_method?
  puts "I am some_method?  True"
end

some_hash_key = {:some_method? => true}
send(:some_method?)
my_variable = :some_method?
send(my_variable)          
p some_hash_key

好的。。因此,在一天结束时,上述方法奏效了。。这是一个我试图做的工作示例。。我使用lambda来模拟函数

some_method_one = lambda { return }
some_method_one = lambda { return }

picked_method = some_method_one
some_class = double("some_class", picked_one?: true )
some_class.picked_one? # this returns true

这段代码完全过于简化了。我打算做的(尚未完成逻辑编写)是为rspec创建一个共享的示例。我有4个方法将使用相同的逻辑进行测试,因此我需要将该方法作为变量传入。希望这是有意义的,并能帮助某人解决问题

你有没有一个例子来说明我是如何通过传入一个参数来做到这一点的?对不起。。更明确地说,我将如何将方法名作为参数传递给函数或方法。def do_it(方法名称)谢谢vgoff我需要解决它,但你让我朝着正确的方向前进。我把这当作答案。我在下面发布了我的解决方案。