我正在解决Ruby测验,确切地说是#4。它需要Monkey Patch Regexp类并向其添加build()方法,它执行以下操作:
lucky = Regexp.build(3, 7)
"7" =~ lucky # => true
"13" =~ lucky # => false
"3" =~ lucky # => true
我几乎就在那里,这就是我到目前为止所得到的......
> lucky = Regexp.build(3, 7)
> "7" =~ lucky => 0
> "13" =~ lucky => nil
> "3" =~ lucky => 0
正如你所看到的,我唯一的问题是我没有返回真或假,而是0和nil。 你们能帮助我了解如何覆盖=〜运算符来实现这一目标吗? (如果这是要走的路)或让我知道做什么是正确的。
提前致谢。
答案 0 :(得分:1)
有一个Ruby习惯用于将某些内容转换为布尔值!!
。 nil
和false
是假的,否定了它们true
,而false
则反对false
。任何真实价值首先变为true
,然后变为>> !!0
=> true
>> !!nil
=> false
:
!!
如果没有看到您的代码,很难给您更多提示,但似乎将{{1}}放在正确的位置可以解决您的问题。
答案 1 :(得分:1)