Ruby 当类名用作方法时调用方法
我想知道是否可以在Ruby中定义一个类,使其具有以下用途:Ruby 当类名用作方法时调用方法,ruby,class,methods,callback,Ruby,Class,Methods,Callback,我想知道是否可以在Ruby中定义一个类,使其具有以下用途: Class Book def Book puts self.to_s end def initialize(name) @name = name end def to_s @name.to_s end end 用法: Book "To Kill a Mocking Bird" #=>To Kill a Mocking Bird
Class Book
def Book
puts self.to_s
end
def initialize(name)
@name = name
end
def to_s
@name.to_s
end
end
用法:
Book "To Kill a Mocking Bird" #=>To Kill a Mocking Bird
我想要的想法是,它的行为如下
class Book
def show_me
puts self.to_s
end
def initialize(name)
@name = name
show_me
end
def to_s
@name.to_s
end
end
show_me将被执行,但一旦您创建了一本新书,book对象将在末尾返回
>> Book.new "To Kill a Mocking Bird"
To Kill a Mocking Bird
=> #<Book:0x74f63f0 @name="To Kill a Mocking Bird">
>Book.new“杀死一只知更鸟”
杀死一只知更鸟
=> #
这个怎么样
class Book
attr_accessor :name
def initialize(name)
self.name = name
end
def to_s
name
end
end
def Book(name)
Book.new(name)
end
puts Book("To Kill a Mocking Bird")
作为次要关注点,使用这种技术(用C编写)来实现名为
Array
、String
的方法,等等:
Array(12) #=> [12]
String(12) #=> '12'
Integer('0x12') #=> 18
@JimPedid,别忘了投票/接受好的答案。您可以在中阅读有关接受答案的内容