标签: rebol3

同步读/写端口时避免递归?

Rebol 3中的所有端口操作都是异步的.我可以找到进行同步通信的唯一方法是调用wait.

但是在这种情况下调用wait的问题是它将检查所有开放端口的事件(即使它们不在传递给等待的端口块中).然后他们调用响应事件处理程序,但可以在其中一个事件处理程序中完成读/写操作.这可能导致递归调用"等待".

我该如何解决这个问题?

io asynchronous rebol rebol3

108
推荐指数
1
解决办法
3394
查看次数

如何在Rebol模块中绑定单词?

据我所知,该module!类型为受保护的命名空间提供了比object!'use函数更好的结构.如何在模块中绑定单词 - 我注意到与未绑定单词相关的一些错误:

REBOL [Type: 'module] set 'foo "Bar"
Run Code Online (Sandbox Code Playgroud)

另外,Rebol如何区分module('foo)的本地字和系统函数('set)的字?

稍后更新,不久之后:

我看到有一个改变绑定方法的开关:

REBOL [Type: 'module Options: [isolate]] set 'foo "Bar"
Run Code Online (Sandbox Code Playgroud)

这有什么不同的做法?默认情况下使用此方法有什么问题?

namespaces module rebol code-organization rebol3

19
推荐指数
1
解决办法
704
查看次数

Rebol 2和3之间绑定行为差异的总结是什么?

关于变量绑定的当前深入文档目标Rebol 2.有人可以提供Rebol 2和3之间差异的摘要吗?

binding bind rebol rebol3 rebol2

10
推荐指数
1
解决办法
701
查看次数

方言和解析的最佳介绍?

我是Rebol的新手,我正在与一个小型企业集团合作,评估它在某些领域的使用,这些领域一次又一次地证明了自己对变革和DSL等概念的高度抵制.

任何人都可以建议他们通过"解析"找到一个很好的介绍方式吗?我一直在阅读Rebol 3网站上的可用文档,以及Auverlot和Wood的程序员指南,这可能绰绰有余 - 但如果有人对其他相关材料或示例有建议,我会很感激的建议.

PS:我也是stackoverflow的新手,所以还没有神奇的20分聊天...

dsl parsing rebol rebol3

10
推荐指数
1
解决办法
420
查看次数

Rebol中的'reword'功能是什么?我该如何使用它?

reword今天看到有人提到这个功能,但是它的文档非常简短.它看起来像shell脚本环境变量替换,或者可能是正则表达式替换,但不同.我如何使用此功能以及我将遇到什么样的陷阱?

templates template-engine rebol variable-expansion rebol3

9
推荐指数
1
解决办法
592
查看次数

我在哪里可以找到Rebol 3微型Web服务器?

有很多很好的小型Web服务器用Rebol 2编写,但Rebol 3有不同的网络模型,我正在寻找一个可以使用它的网络服务器.

我不是在寻找任何花哨的东西.它只是在嵌入式主板上运行,让我使用Rebol 3控制我家周围的Insteon设备 - 这比其他方法更容易和更清洁.

请不要回复非基于Rebol的Web服务器.我对使用它们不感兴趣.

webserver rebol embedded-linux rebol3

9
推荐指数
1
解决办法
724
查看次数

不使用"copy"处理字符串时究竟发生了什么?

下面这个函数的目的是返回一个在两个星之间插入参数值的字符串.

star-name: func [name /local stars] [
    stars: "**"
    insert next stars name
    stars
]
print star-name "test" ;*test*
print star-name "this" ;*thistest*, but what I really want is *this*  
Run Code Online (Sandbox Code Playgroud)

第二次调用函数时,第一次调用的参数仍然是插入的.我知道答案是使用copy "**".我的问题是,每次调用函数时,它是否都不会重新分配stars变量"**"

rebol rebol3

9
推荐指数
1
解决办法
200
查看次数

如何使用Rebol 3编写"Hello,World"CGI?

让我们从一些简单的东西开始:一个带有一个可以回显的字段的表单.

cgi rebol rebol3

8
推荐指数
1
解决办法
809
查看次数

如果......其他如果......在REBOL中

我注意到REBOL没有内置if...elsif...else语法,就像这样:

theVar: 60

{This won't work}
if theVar > 60 [
    print "Greater than 60!"
]
elsif theVar == 3 [
    print "It's 3!"
]
elsif theVar < 3 [
    print "It's less than 3!"
]
else [
    print "It's something else!"
]
Run Code Online (Sandbox Code Playgroud)

我找到了一个解决方法,但它非常冗长:

theVar: 60

either theVar > 60 [
     print "Greater than 60!"
 ][
        either theVar == 3 [
            print "It's 3!"
        ][
            either theVar < 3 [
                print "It's less than 3!"
            ][
                print "It's …
Run Code Online (Sandbox Code Playgroud)

rebol switch-statement rebol3

8
推荐指数
2
解决办法
341
查看次数

有没有人有一个有效的R3功能,模仿R2中的find/any的行为?

Rebol2对FIND函数有一个/ ANY细化,可以进行通配符搜索:

>> find/any "here is a string" "s?r"
== "string"
Run Code Online (Sandbox Code Playgroud)

我在需要运行良好的紧密循环中广泛使用它.但是在Rebol3中删除了细化.

在Rebol3中最有效的方法是什么?(我猜是某种parse解决方案.)

parsing rebol rebol3

8
推荐指数
1
解决办法
173
查看次数