我一直在寻找如何用红宝石打电话给clone
。
我认为必须在https://ruby-doc.org/core-2.1.2/Process.html此处进行记录,但事实并非如此。
但是,在我的脚本中,如果我只是尝试print clone
,它会给我类似 main 的信息。我找不到任何文档。
有什么想法吗?
答案 0 :(得分:1)
我从您的问题中得到的是您想要clone
文档。
为简便起见,请安装撬宝石
gem install pry pry-doc
然后从命令行键入pry --simple-prompt
,然后显示克隆文档
>> show-doc clone
From: object.c (C Method):
Owner: Kernel
Visibility: public
Signature: clone(*arg1)
Number of lines: 19
Produces a shallow copy of obj---the instance variables of
obj are copied, but not the objects they reference.
clone copies the frozen (unless :freeze keyword argument
is given with a false value) and tainted state of obj.
See also the discussion under Object#dup.
class Klass
attr_accessor :str
end
s1 = Klass.new #=> #<Klass:0x401b3a38>
s1.str = "Hello" #=> "Hello"
s2 = s1.clone #=> #<Klass:0x401b3998 @str="Hello">
s2.str[1,4] = "i" #=> "i"
s1.inspect #=> "#<Klass:0x401b3a38 @str=\"Hi\">"
s2.inspect #=> "#<Klass:0x401b3998 @str=\"Hi\">"
This method may have class-specific behavior. If so, that
behavior will be documented under the #initialize_copy method of
the class.
HTH
答案 1 :(得分:1)
Ruby有一个clone方法,但与fork或进程无关。 Ruby中的clone方法用于制作消息接收者的浅表副本。在上面的示例中,没有指定接收方,因此您可能猜到它是默认接收方,称为“主”
有关Ruby克隆的更多信息,请参见:clone docs