首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rebol自身对象

Rebol自身对象
EN

Stack Overflow用户
提问于 2009-09-21 19:46:12
回答 1查看 155关注 0票数 0

几周前,我问了一个关于端口Rebol Smallest Http Server in the World: why first wait listen-port?的问题

listen-port是一个对象

首先,listen-port是self,所以我还是不明白self为什么不等于listen-port,这就是为什么我们需要

代码语言:javascript
复制
http-port: first wait listen-port

如果wait返回listen-port并且第一个listen端口与self或listen-port相同,则上面的代码不同于

代码语言:javascript
复制
http-port: wait listen-port
EN

回答 1

Stack Overflow用户

发布于 2009-09-22 17:57:02

听着-port就是一个port!值,而不是对象!价值。一个港口!可以看作是object的派生!数据类型,并具有特定的用途。第一个行为(和所有其他行为一样!值)是多态的。

For object!值,它将返回在该对象上下文中定义的单词列表(加上特殊的自引用单词'self):

代码语言:javascript
复制
foo: make object! [bar: 3]
first foo
== [self bar]

去港口!值,首先将根据端口有两种不同的行为!类型:

  • 客户端端口:它将PICK操作发送到端口内部处理程序(第一个端口== pick端口1)。
  • 服务器端口:它将调用底层C套接字的ACCEPT操作来检索新的连接端口!值,允许与客户端进行通信。

所以:

代码语言:javascript
复制
wait listen-port

当事件发生时返回侦听端口值。

代码语言:javascript
复制
http-port: first wait listen-port

返回一个新端口!连接到'http-port‘引用的客户端的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1456456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档