随机问题在这里.我不确定是否有这个术语,但我想知道你何时定义一个没有显式接收器的方法,你怎么知道哪个类得到了这个方法?是不是self在这种情况下是什么?
self 在类定义的上下文中是定义的类,使用隐式接收器定义的方法绑定到类,我们一直看到它.
但是,如果我在实例方法中定义一个方法,那么'sub_method'也会被放在外部类中:
[12] pry(main)> class A
[12] pry(main)* def my_method
[12] pry(main)* puts self
[12] pry(main)* def sub_method
[12] pry(main)* puts self
[12] pry(main)* end
[12] pry(main)* end
[12] pry(main)* end
=> :my_method
[13] pry(main)> a = A.new
=> #<A:0x007fa588181d40>
[14] pry(main)> a.my_method
#<A:0x007fa588181d40>
=> :sub_method
[15] pry(main)> a.sub_method
#<A:0x007fa588181d40>
=> nil
[16] pry(main)> A.instance_methods(false)
=> [:my_method, :sub_method]
Run Code Online (Sandbox Code Playgroud)
此外,在顶级的范围,self是main,这是一个实例Object类,但方法来定义有加Object,而不是main小号单例类,这是我基于我怎么看到其他单方法的工作期待什么:
[21] pry(main)> def a.my_singleton
[21] pry(main)* puts …Run Code Online (Sandbox Code Playgroud) 当客户端禁用cookie时,任何人都可以确认PHP的setcookie()函数的行为吗?根据文件:
"如果在调用此函数之前存在输出,则setcookie()将失败并返回FALSE.如果setcookie()成功运行,它将返回TRUE.这并不表示用户是否接受了cookie."
我不确定'成功运行'究竟意味着什么,但这让我相信实现并不关心客户端是否接受cookie,而且我们不必担心与此相关的PHP错误/警告实际上是否设置了cookie.是对的吗?
提前致谢