ruby - 在 ruby​​ 中定义自定义运算符

标签 ruby operators monkeypatching

我希望能够定义自定义运算符。那可能吗?例如,要使 a***b意味着什么。

是否也可以对现有运算符(operator)进行猴子修补?例如,使 a**b总是返回一个 float ?

最佳答案

是的,可以。例如:

class Fixnum
  def **(x)
    self.*(x)*1.0
  end
end

5**4 #==> 20.0

关于ruby - 在 ruby​​ 中定义自定义运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647182/

相关文章:

javascript - 测试 if 语句的存在性和正确值

python - gevent猴子补丁命令

python - 猴子修补@property

ruby-on-rails - Ruby 中的日期验证

ruby-on-rails - 指定 Rails 版本

java - Lucene 中的 - 和 NOT 运算符有什么区别?

c++ - 为什么 << 运算符会用 cout 截断字符?

python - 我可以将自定义方法/属性添加到内置 Python 类型吗?

ruby-on-rails - 在 Rails View 中将变量分配给用户输入

ruby - 从 Ruby 中的图像集合创建拼贴画