0

我不确定为什么当我尝试从类中的另一个方法访问实例变量的方法时,我无法访问它。

该程序是一个聊天程序(正在进行中)。抱歉,如果这是一个菜鸟问题,我正试图从我已经知道的其他语言中强行学习 Ruby。

require 'socket'      # Sockets are in standard library

class Client
    def initilize()
        hostname = 'localhost'
        port = 2000
        @s = TCPSocket.open(hostname, port)   
    end

    def startChat  
        puts "Starting Client"
        message = gets.chomp
        @s.puts(message)

        while line = @s.gets   # Read lines from the socket
            puts line.chop      # And print with platform line terminator
            @s.close               # Close the socket when done
            gets.chomp
        end
    end
end

c = Client.new()

c.startChat
4

1 回答 1

2

您的 中有错字def initialize(),因此在初始化 Client 实例时不会调用它。因此@s永远不会被定义(所以它是零)。

于 2014-08-06T01:46:37.583 回答