Warm tip: This article is reproduced from serverfault.com, please click

其他-红宝石不等于运算符不起作用,但相等

(其他 - ruby not equal operator doesn't work but equal does)

发布于 2020-11-28 19:27:30

我对使用这种简单方法感到非常困惑,因为我想在其中放置一个数组的字符,如果与另一个数组的字符相比,它是不同的。

这适用于==运算符,但不适用于!=

也许与每个循环有关,但我看不出错误是什么。有任何想法吗?

谢谢

def remove_vowels(s)
 nw_s = s.chars
 vowels = "aeiou".chars
 result = []
  nw_s.each do |char|
    vowels.each do |vowel|
      if char != vowel
        print char
      end
    end
  end
end

remove_vowels("apple")
Questioner
Peter muller
Viewed
0
Mateo977 2020-11-29 04:12:42

嵌套每个都不是执行此类任务的红宝石方法。你可以写这个

def remove_vowels(s)
  nw_s = s.chars
  vowels = "aeiou".chars
  result = nw_s.map {|k| k unless vowels.include?(k) }.compact
end

remove_vowels("apple")

一行代码而不是七行