有一个String eql吗?

时间:2013-12-11 19:15:51

标签: ruby string methods equals

myParagraph = "Th ie f should be uppercase f"

swearWords = ["e","f"]

swearWords.each { |x|
  if myParagraph.include?(x)
    myParagraph.gsub!(x, x.upcase)
  end
}   

puts myParagraph

返回"Th iE F should bE uppErcasE F"。这很好,但如果我用.include?替换.eql?,我希望结果为"Th ie F should be uppercase F",但我得到了"Th ie f should be uppercase f"。为什么是这样? .eql似乎不起作用?

2 个答案:

答案 0 :(得分:0)

eql?不起作用,因为您正在将多字符字符串与单字符字符串进行比较,而这些字符串永远不会相等。

答案 1 :(得分:0)

仅当eql?myParagraph是同一个对象时,

x才会返回true。