Ruby 插座是否与撬杆捆绑?
我正在学习Ruby中的socket。我在撬会话中尝试了Ruby 插座是否与撬杆捆绑?,ruby,sockets,irb,pry,Ruby,Sockets,Irb,Pry,我正在学习Ruby中的socket。我在撬会话中尝试了require'socket',结果得到false。在经历了很多麻烦之后,我决定使用irb,但效果很好 后来,我在一个pry会话中运行了TCPServer.new('localhost',2000),而不需要socket,它工作了 我很好奇为什么会这样。是不是插座已经是pry的一部分了?我查看了Pry的源代码,但没有找到它 Ruby 2.3.0上的Pry版本0.10.3Yessocket在启动时加载到Pry中。而irb最初并不加载它。您可以随
require'socket'
,结果得到false
。在经历了很多麻烦之后,我决定使用irb
,但效果很好
后来,我在一个pry会话中运行了TCPServer.new('localhost',2000)
,而不需要socket
,它工作了
我很好奇为什么会这样。是不是插座已经是pry的一部分了?我查看了Pry的源代码,但没有找到它
Ruby 2.3.0上的Pry版本0.10.3Yes
socket
在启动时加载到Pry中。而irb最初并不加载它。您可以随时告知文件是否已加载,因为require
将返回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
否,
插座
在启动Pry时默认不加载。你有一个.pryrc
文件可能正在加载它吗?在它发生的时候,我没有一个.pryrc
你从哪里得到Pry自动加载套接字的?对我来说不是,源代码中唯一提到的“socket”似乎是一条注释和一个changelog条目。@matt true Github存储库并不直接需要“socket”
,但它确实加载了其他gem,这很可能是罪魁祸首。你有什么版本的Prypry-v
0.10.3
,当前最新版本。我没有任何插件,也许你和mokayode都有一个需要socket
的插件?你从pry--plugins
@matt nope,已安装的插件--
中得到了什么。我没有一个.pryrc
文件。在Pry Github repo中,我确实看到了几处提到,其中有一个,有一个。