我正在使用Ruby 2.4。如何扫描数组中除一个索引之外的每个元素以满足某个条件?我尝试过以下代码:
但是遇到了以下错误:
但显然,我在网上阅读关于“except”(除外)的内容被夸大了。
arr.except(2).any? {|str| str.eql?("b")}
但是遇到了以下错误:
NoMethodError: undefined method `except' for ["a", "b", "c"]:Array
但显然,我在网上阅读关于“except”(除外)的内容被夸大了。
except
的内容?Ruby数组没有这样的方法。此外,在字符串上调用.eql?
并不是非常惯用;你可以直接使用str == "b"
。 - Mark Reed==
,eql
是否是 Ruby 中惯用的呢?它也更像自然语言的阅读方式。 - max pleaner.eql?
明显是 Ruby 的一部分,但在 Ruby 代码中使用它来比较字符串并不是典型的做法 - 这就是我所说的“惯用 Ruby”的意思。只要被比较的两个对象都是字符串,eql?
、==
和===
都会执行相同的比较。由于比其他任何操作符更多的语言使用==
进行比较,因此通常被认为是最自然的选择。 - Mark Reed