本机是多少!在 Rebol3 中

What is the number of native! in Rebol3

如何计算 Rebol3 中本机函数的数量?

help native!lib 中打印本机函数,但它不会 return 一个单词块。)

更新:我已更正@HostileFork 突出显示的错误后的问题。

num: 0
foreach [w val] lib [if type? :val = native! [++ num]]

在 "recent" 构建的 rebol-3

中给我 700

在启动时构建本地人目录(或至少他们的名字):

>> length? system/catalog/natives
== 160

lib 中的定义不仅仅是本机例程。排版和其他事物的定义。但几乎每个本地人都可以在启动时通过它访问:

>> natives: []

>> foreach [word value] lib [if native? :value [append natives word]]

>> length? natives
== 168

其中一些差异由同义词解释(Q 表示 QUIT,--- 表示 COMMENT,等等):

>> difference natives system/catalog/natives
== [native action q ! min max --- bind? pwd context]

NATIVE 和 ACTION 是特殊的,无论出于何种原因都没有进入目录。

(请注意,在 Ren-C build of Rebol3 的当前演变中,只有一种 FUNCTION!数据类型。因此没有 NATIVE?或 ACTION?等。因此,system/catalog/natives是你找出答案的唯一方法。)