Ruby存储对,数组?

时间:2014-11-25 15:37:54

标签: ruby

我目前正试图了解Ruby并实现基本的TCP聊天室。从在线查看我发现这部分代码:(http://www.sitepoint.com/ruby-tcp-chat/

def initialize(port)
    @server = TCPServer.open("localhost", 8888)
    @connections = Hash.new
    @rooms = Hash.new
    @clients = Hash.new
    @connections[:server] = @server
    @connections[:rooms] = @rooms
    @connections[:clients] = @clients
    run
end

我正在努力理解@connections[:server] = @server

我需要跟踪用户在哪个房间。我想有一对客户/房间但不确定如何去做。有人会有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我会使用客户端的哈希值 - >室

答案 1 :(得分:1)

@connections是哈希。

此行@connections[:server] = @server为哈希添加了一个键(:server)值(@server)对 然后@connections可能如下所示:

{:server => @server}

@connections[:clients][:handle] = client正在设置嵌套哈希 所以@connections成为:

{ 
   :server => @server,
   :clients => { :handle => client } 
}

注意:这只是为了理解,实际的Hash对象表示看起来会有所不同。