在方法上指示布尔值的替代方法
Alternative ways to indicate a boolean value on a method
我目前正在尝试重构一些重复代码。有一句话特别让我头疼:
some_class = double("some_class", some_method?: true)
我需要用变量名替换 some_method。但是,以下将不起作用。下面只是我正在尝试做的一个例子。
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_method? => value
语法。
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中创建一个shared_examples_for。我有 4 个方法将使用相同的逻辑进行测试,因此我需要将方法作为变量传递。希望这是有道理的,并帮助别人.. :-)
我目前正在尝试重构一些重复代码。有一句话特别让我头疼:
some_class = double("some_class", some_method?: true)
我需要用变量名替换 some_method。但是,以下将不起作用。下面只是我正在尝试做的一个例子。
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_method? => value
语法。
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中创建一个shared_examples_for。我有 4 个方法将使用相同的逻辑进行测试,因此我需要将方法作为变量传递。希望这是有道理的,并帮助别人.. :-)