问题标签 [red-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
172 浏览

red - 在 Red 例程中通过引用传递

所以我目前正在将一个下降大小的程序从 Rebol 3 迁移到 Red。所述程序依赖于与 C 库 (clang) 的大型绑定。我已经重写了 Red/System 中的绑定部分,并通过包装例程将该代码与 Red 连接。我一直在使用的当前约定是将需要作为参数并由 C 代码返回的指针和 void 指针转换为红色/系统整数并将它们装箱为红色整数。这是相当容易和方便的。

因为我只能访问原始整数!数据而不是实际的结构,我会怀疑我不能再使用上述方法通过参数将指针传回(因为在传递之前正在复制装箱数据)。

那么,是否有推荐的方法来通过参数将指针传回,也就是我们如何通过例程的引用传递?

0 投票
2 回答
125 浏览

red - 将 Red 函数指针传递给 C

我知道如何将Red/System回调传递给 C 函数,但是否可以实现相同的功能Red可以在运行时为函数创建Red/System包装器并将其传递给 C 函数吗?Red

我已经在这里那里查看了很多绑定/代码,但没有找到任何可以解决我的问题的东西。

编辑:
假设我有一个简单的Red功能:

我有一个Red/System函数别名:

是否有可能以某种方式将上述add-numbers函数转换为callback!使用Red/System包装器的函数?

0 投票
1 回答
84 浏览

red - 如何将值从 Red/System 传递给 Red?

我需要将我在 Red/System 中生成的值传递给 Red。我发现了文档,但没有找到如何使用它的示例。这是我的代码:

my-red-block这是block我想用红色/系统部分的数据填充的红色。

https://github.com/meijeru/red.specs-public/blob/master/specs.adoc#routine-type

0 投票
1 回答
30 浏览

red - 如何将数据附加到 R/S 中的块?

我正在尝试将数据附加到blockRed/System。

我决定通过block结束routine在那里修改它。

我收到错误:

0 投票
1 回答
61 浏览

red - 如何将带有上下文的块传递给例程?

我继续学习红色/系统。现在我正在尝试了解如何通过上下文传递单词以发挥作用。

这是我的代码:

此代码不起作用,因为列表放置在mycontext. list可以在此处找到无上下文传递的示例

我尝试了不同的方法,但每次都出错。

https://github.com/red/red/blob/master/runtime/datatypes/structures.reds#L188