Socket 是否与 Pry 捆绑在一起?
Is Socket bundled with Pry?
我正在 Ruby 学习套接字。我在 Pry 会话中尝试 require 'socket'
只是为了得到 false
。在经历了很多麻烦之后,我决定使用 irb
但一切正常。
后来,我 运行 TCPServer.new('localhost', 2000)
在一个不需要 socket
的窥探会话中成功了!
我很好奇为什么会这样。难道socket
已经是pry的一部分了?我查了 Pry 的源码,没弄明白
在Ruby2.3.0
上撬开版本0.10.3
是 socket
在 Pry 启动时加载。而 irb 最初不会加载它。您总是可以判断文件是否已经加载,因为 require
将 return false
,而不是 LoadError
.
2.3.1 :001 > require 'socket' # not yet loaded
# => true
2.3.1 :002 > require 'socket' # already loaded
# => false
2.3.1 :003 > require 'not_a_file' # error because it does not exist
# LoadError: cannot load such file -- not_a_file
我正在 Ruby 学习套接字。我在 Pry 会话中尝试 require 'socket'
只是为了得到 false
。在经历了很多麻烦之后,我决定使用 irb
但一切正常。
后来,我 运行 TCPServer.new('localhost', 2000)
在一个不需要 socket
的窥探会话中成功了!
我很好奇为什么会这样。难道socket
已经是pry的一部分了?我查了 Pry 的源码,没弄明白
在Ruby2.3.0
上撬开版本0.10.3是 socket
在 Pry 启动时加载。而 irb 最初不会加载它。您总是可以判断文件是否已经加载,因为 require
将 return false
,而不是 LoadError
.
2.3.1 :001 > require 'socket' # not yet loaded
# => true
2.3.1 :002 > require 'socket' # already loaded
# => false
2.3.1 :003 > require 'not_a_file' # error because it does not exist
# LoadError: cannot load such file -- not_a_file