当我尝试将自定义对象与字符串进行比较时会调用哪些方法?

时间:2016-04-18 14:38:26

标签: ruby

我有一些我想与字符串比较的对象。我想知道我应该实现什么方法,以便在用作比较运算符的参数时自动进行对象的转换。

例如:

    std::vector<std::vector<int>> set_of_vectors(5, std::vector<int>(10));
    for(auto& vec : set_of_vectors)
        std::iota(vec.begin(), vec.end(), 1);
在左边我的对象

我想将它与一些字符串进行比较。目前,我已经在我的对象上实现了 to_s ,但是即使包含的字符串与我正在比较的字符串相等,我仍然是假的。

提前致谢。

1 个答案:

答案 0 :(得分:2)

你需要覆盖你的班级&#39; == method

class MyClass
  def ==(other)
    # custom equal comparison logic here
    # if you just need string comparison
    to_s == other
  end
end