listen-port是一个对象
第一个listen-port是self,所以仍然不明白为什么self不等于listen-port这就是我们需要的原因
http-port: first wait listen-port
如果wait返回listen-port并且第一个listen端口与self或listen-port相同则上面的代码与
不一样http-port: wait listen-port
答案 0 :(得分:1)
listen-port是一个端口!价值,而不是对象!值。一个港口!可以看作是对象的推导!数据类型和具有专门的目的。第一行为(与所有其他动作!值一样)是多态的。
对象!值,它返回在该对象上下文中定义的单词列表(加上特殊的自引用单词'self):
foo: make object! [bar: 3]
first foo
== [self bar]
对于港口!值,FIRST将根据端口有两种不同的行为!输入:
客户端端口:它将PICK操作发送到端口内部处理程序(第一个端口==选择端口1)。
服务器端口:它将调用ACCEPT操作到底层C套接字以检索新的连接端口!价值,允许与客户沟通。
所以:
wait listen-port
在事件发生时返回listen-port值。
http-port: first wait listen-port
返回一个新端口!连接到'http-port。
引用的客户端的值