gpt4 book ai didi

forth - Forth 中的词重定义

转载 作者:行者123 更新时间:2023-12-01 07:02:25 25 4
gpt4 key购买 nike

在 Forth 中,在重新定义单词的情况下,使用重新定义的单词的另一个单词的预期行为是什么?
例如如果 x电话y :

: Y ." Old Y " CR ;
: X 10 0 DO Y LOOP ;
\ ...
: Y ." New Y " ;

然后在重新定义 Y之后, X的输出应该是什么, Old YNew Y ?

最佳答案

简短的回答:X将输出 Old Y ,另请参见您在 online test 中的示例.当Y时第二次定义,X已经编译。

在 Forth 中,重新定义只是遮蔽:当一个新定义的名称遮蔽了同一个单词列表中的另一个名称时,就会出现这种情况,并且遮蔽的定义变得无法通过该名称访问(无法找到)。

Forth 还使用增量编译和静态 name resolution (即在编译时执行)。因此,新定义不会影响任何以前的定义(以及已编译的代码)。

关于forth - Forth 中的词重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41487349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com