【问题标题】:How to compare a string against multiple other strings如何将一个字符串与多个其他字符串进行比较
【发布时间】:2010-09-22 14:35:06
【问题描述】:

有没有一种方法可以让我在 Ruby 中将一个字符串与其他多个字符串进行比较?我真的很想做这样的事情:

myString.eql?(["string1","string2","string3"])

【问题讨论】:

    标签: ruby


    【解决方案1】:
    ["string1","string2","string3"].include? myString
    

    【讨论】:

    • 这不是相等比较
    • @Filippos:什么意思?
    • 我的意思是,如果 myString 是“s”,那么你将得到真正的 regadless。相反,OP要求平等。只有当 myString 是“string1”、“string2”或“string3”之一时,它才应该返回 true。 @mipadi
    • @Filippos: 不,如果myString"s" 那么上面的代码将返回false
    【解决方案2】:

    您可以使用Array#include? 来查看数组是否包含字符串:

    %w(string1 string2 string3).include?(myString)
    

    【讨论】:

    • 那个单词分隔符好,好整洁。
    【解决方案3】:

    我发现自己非常想要这个,所以我添加了一个 String 方法以便能够更惯用地做到这一点:

    class String
      def among?(*array)
        array.flatten.include?(self)
      end
    end
    

    然后

    myString.among?("string1","string2","string3")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多