【发布时间】:2013-06-19 15:14:15
【问题描述】:
如何在 Red/System 中创建指向数组中第一个元素的指针?
给指针分配地址是没问题的:
my-integer: 1
ptr: declare pointer! [integer!]
ptr: :my-integer
数组已声明。
buffer: as int-ptr! allocate 1009 * size? integer!
但是。
ptr: :buffer
不是办法,也不是。
ptr: ::buffer
ptr: :buffer/1
ptr: :(buffer/1)
有人知道怎么做吗?
问候,
阿诺德
【问题讨论】:
-
请注意,
:不是 get "operator"。它根本不是运营商。因此,您不能组合冒号来实现 get-of-a-get (::buffer),也不能放置空格 (: buffer)。这与 Rebol 和 Red 与其他语言非常不同的原因有关。前导 ':' 是一个信号,表示您正在装饰的符号被“调味”为 GET-WORD!。尽管有这些“味道”(到目前为止比 Lisp 还多),但它仍然只是象征性地处理的东西。 Rebol/Red 以一种装扮成“普通”语言的方式处理它们,但您自己的方言可以这样做!
标签: arrays pointers red red-system