Ruby:定义自己的转换方法/协议

时间:2015-12-17 08:04:31

标签: ruby

我喜欢使用Ruby内置的核心转换,如

Integer("2")
Float("2.22")
Pathname("/etc/hosts")

但是如何为类定义自己的转换方法?我有以下课程

class Foobar
  def initialize
    # ... do some work
  end
end

我希望有一个方法Foobar("my value")将字符串my value转换为Foobar类(但是你这样做),或者抛出ArgumentError如果输入不合适。

知道怎么做吗?

1 个答案:

答案 0 :(得分:5)

module Kernel
  def Foobar(string)
    ...
  end
end