我需要一个动态数组,但我不知道如何实现它。 我在网上搜索,也找不到任何结果。 我是新手,刚刚开始学习它。 我想我可以只使用一个变量来存储长度,并像我 go 那样分配更多,但我不知道这是否有效,因为我也可以在数组的分配空间之外写入。 ...
我需要一个动态数组,但我不知道如何实现它。 我在网上搜索,也找不到任何结果。 我是新手,刚刚开始学习它。 我想我可以只使用一个变量来存储长度,并像我 go 那样分配更多,但我不知道这是否有效,因为我也可以在数组的分配空间之外写入。 ...
我看到很多 Forth 代码只是在做s" Hello " s" world" s+就像什么都没有,但现在我想起来,这实际上分配了 3 个指针,其中两个丢失了。 slurp-file的大多数用途也存在同样的问题。 但是,如果我需要将分配的每个字符串地址放入一个临时位置以便稍后释放它们,例如s" f ...
在 C 中,局部变量存在于函数内部并包含如下值: 在 Gforth 手册中,他们这样描述局部变量: 但它似乎是一个接受两个参数a和b的函数。 另一个关于 Forth 语言的教程显示了一个像这样的变量: 那么,哪一个是正确的? ...
我想以非零退出状态退出 Forth 程序(使用 Gforth 0.7.3)。 我试过了: 但是 1 没有被解释为bye的参数(而且我没想到这会起作用;我在文档中找不到任何暗示bye会接受参数的提示)。 请注意,我不想触发异常,因为它也会打印一条错误消息(除非有一种方法可以从 Forth 程序本身中 ...
当一个词被重新定义时,是否可以访问旧词? 想象有一个词foo定义和重新定义 foo这里执行了两个定义。 是否可以执行第一个定义(“second-foo”)? see吗? ...
我尝试应用Zeller 的收敛简化方法从用户输入的日期中获取日期名称。 简化算法来自 语法似乎没问题,但方法或错误/失败的 function 可能是根本原因。 输入很好,但随机获得的日期不是好日期(即使是同一日期)。 所以我可能没有做某事&在这里我未优化代码以尝试调试它,但我还没有找到原因。 ...
我正在尝试编写一个适合 model 的值的 function。 我从压力传感器测量并使用校准的 model 我必须将值转换为最终压力管理。 这样做涉及将测量值提高到分数幂,在本例中为 x^2.032。 我正在用 Forth 的一种方言Mecrisp Stellaris写这篇文章。 我有点卡住了。 我 ...
考虑: 例如,它会在我的机器上引发除零错误。 为什么? 除数是 1(不是 0。)并且 9223372034707292159 适合无符号双精度数。 fm/mod和sm/rem也是如此。 我正在使用 Gforth,但这些是 Forth 的核心词。 ...
我对测试 Gforth 的一些限制很感兴趣,并希望它执行我“手动编译”到分配的 memory 中的任意代码。 这是我的尝试。 不幸的是,这失败了: 我必须使用comp'而不是' ,因为它不适用于获取EXIT的 xt 。 我本以为这应该可以工作,除非 Gforth 不像JonesForth那样在do ...
在 Forth 中,如果堆栈顶部为零,是否有条件退出过程(返回)的常用词? 我正在考虑在递归过程中使用它而不是 IF。 ...
我是 Forth 的新手,我正在使用 SwiftForth。 我正在寻找一种从文件中读取矩阵的方法,如此处所述将文本文件写入 Forth 上的数组,但无法识别rdrop 。 这是 Gforth 独有的还是图书馆的一部分? 如果是库,使用它需要哪些步骤? ...
我是新手。 我和 gforth 一起玩过。 我对第四个“图像”很感兴趣。 我有这个用例:我想... 交互式定义单词保存第四张图片退出系统重启第四张图片查看之前定义的词这可能吗? 你能解释一下怎么做吗? 谢谢你。 (我一直在玩gforthmi , savesystem , gforth -i 。我 ...
我在胡思乱想并试图理解它,所以我写了一个简单的词来测试它: 问题是,这个词根本没有以一致的方式表现。 它的输出似乎取决于许多因素,例如: 这是要解释的第一行吗? 在它之后是否定义了其他词? 此外,有时它根本不打印任何内容。 (使用 Gforth) ...
我知道 gforth 将字符作为它们的代码点存储在堆栈中,但是我正在学习的材料没有显示任何有助于将每个字符转换为代码点的单词。 我还想对字符串的代码点求和。 我应该用什么来做到这一点? ...
我有一个文本文件,其中包含一组数字,例如: 我用以下代码打开了文本文件: 我还创建了一个数组来存储这些数据: 有没有办法用 Forth 将文本文件的内容写入数组? ...
我正在用 Forth 编写代码,它应该创建一个 12x12 的随机数数组,从 1 到 8。 但是,我注意到数组的元素 128 到 131 总是比预期大得多: 此外,当我尝试单独更改这些元素的值时,这会导致其他三个元素更改值。 例如,如果我编码: 那么数组将变为: 您知道为什么这些特定 ...
我使用了几个 gforth 代码 & 我现在想注册结果 当我尝试: 我收到内存地址错误 我参考了官方文档,但我发现根据我设置的变量(可以是文本和数字(两者)),我应该怎么做才能拥有正确的内存地址。 ...
我得到了这种类型的数组设置的代码: 如何在应用程序运行时检查它。 当应用程序正在运行时,可以添加单元格(如果相邻使用键盘输入)或不在 X/Y 上添加(我目前不使用对角线) 。 但是单元格必须可以自由添加新值,每个循环都可以在当前释放或不释放单元格的情况下计算数组,因此在某些情况下,我会在输入错 ...
gforth :如何检查变量是否设置 我目前从命令行设置一个变量,如: 所以它的价值来自 但是即使用户运行,我也会确保变量设置为默认值 如何检查变量是否设置? (然后我可以在 if 语句中给它一个默认值) ...
在 Gforth 中是否有相当于forget Forth 的词? 我见过marker ,但它没有相同的行为。 list命令似乎也没有给出程序的列表。 我想查看内存程序的列表,就像 BASIC 中的旧list一样 - 我认为这也是原始 Forth 中的行为。 ...