Ruby中是否存在include?方法的对立方法?
Ruby中
include?的对立写法(用if替代unless) 当然可以用if语句实现你要的逻辑啦!
首先明确一点:标准Ruby的核心类(比如String、Array)并没有内置和include?直接对立的方法(比如你听说的exclude?并不是Ruby标准库自带的)。你之前尝试的.include?!或者类似写法是错误的,正确的否定方式是把逻辑非运算符!放在整个方法调用的前面。
写法对比
原来的unless写法:
unless variable.include?("something") # 你的业务逻辑代码 end
改成if语句的正确写法:
if !variable.include?("something") # 相同的业务逻辑代码 end
如果你觉得!放在前面不够直观,也可以写成这种等价形式:
if variable.include?("something") == false # 业务逻辑代码 end
额外小提示
如果你是在Rails项目中编写代码,Rails框架给很多核心类扩展了exclude?方法,这时候你就可以直接用更简洁的写法:
if variable.exclude?("something") # 业务逻辑代码 end
不过要注意,exclude?是Rails的扩展方法,不是Ruby标准库原生支持的哦。
内容的提问来源于stack exchange,提问作者user9597197
相关产品推荐
相关产品推荐

