gpt4 book ai didi

openscad If 语句与变量有关

转载 作者:行者123 更新时间:2023-12-04 22:20:08 27 4
gpt4 key购买 nike

我在 OpenScad 中的 If 语句有问题。
我有 4 个变量

a=20;
b=14;
w=1;
c=16;

我想查一下女巫号是否更大 ab .
然后根据谁较小来获取较小变量的值(在我们的例子中为 b < a )并使用 c 进行简单的操作变量 ( c=b-w )。

我试过这样,但它不起作用。
a=20;
b=14;
w=1;
c=16;
if(a>b)
{
c=b-w;
}

if (a<b)
{
c=a-w;
}

if (a==b)
{
c=a-w;
}

这似乎是逻辑,但据我所知,在 openscad 中,您无法更改 If 语句中变量的值。我可以使用什么技巧来实现我的目标。
谢谢!

最佳答案

在第 3 条腿中,您将赋值运算符“=”与等号运算符“==”混淆(正确 if (a==b))。
在您的 3. 腿中,您的操作与在 2. 中相同,因此您可以将两者都作为“其他”腿来处理。
正确:if 语句中不允许赋值。在 openscad 中,您可以使用 ?运算符:

c = a > b ? b-w : a-w;
=遵循条件。 ?后面的声明如果条件为真,则变为值, : 后面的语句如果条件为假,则变为值。嵌套条件是可能的,例如你的条件:
c = a > b ? b-w : (a < b ? a-w : a-w);
更多信息在 documentation .

关于openscad If 语句与变量有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260613/

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