gpt4 book ai didi

rebol - 修复 Rebol3 示例计算器以使用正常的数学运算符优先级

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

the example calculator :

REBOL [title: "Calculator"]
do %r3-gui.r3
stylize [
btn: button [
facets: [init-size: 50x50]
actors: [on-action:[set-face f join get-face f get-face face]]
]
]
view [
hgroup [
f: field return
btn "1" btn "2" btn "3" btn " + " return
btn "4" btn "5" btn "6" btn " - " return
btn "7" btn "8" btn "9" btn " * " return
btn "0" btn "." btn " / " btn "=" on-action [
attempt [set-face f form do get-face f]
]
]
]

...生成的程序不会(因为 Rebol 传统上不会)评估具有比 + 更高优先级的 * 的数学表达式。例如。 2 + 3 * 4给出 20 而不是 14。

我以为我在某处读到 Rebol3 包含一个新函数,该函数可以像人们在几乎所有其他上下文中使用的方式一样评估数学表达式。真的吗?如果是这样,是否可以使上述代码在不进行大量更改的情况下使用它?

最佳答案

我不确定 Rebol 3 中是否有一个特定的函数可以根据正式优先级评估运算符(我很高兴得到纠正),尽管有尝试 in the wild来实现这样的功能。如果您要定位这样的函数,您只需将评估器从 do 更改为至 do-expression (其中 do-expression 表示函数)在 on-action 中屏蔽您的 "="按钮。

关于rebol - 修复 Rebol3 示例计算器以使用正常的数学运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26514041/

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