如何在 Oz 编程语言中使用 AND
Posted
技术标签:
【中文标题】如何在 Oz 编程语言中使用 AND【英文标题】:How to use AND in Oz Programming language 【发布时间】:2015-12-20 05:42:42 【问题描述】:declare
fun Beta E
case E
of lambda(X [Y Z]) andthen IsAtom Y then Z
else nil
end
end
Browse Beta lambda(y [y a])
我正在尝试为 lambda 演算制作一个 beta reducer,但我不知道如何为刚开始使用的 Oz 添加参数。
我想做的是: IsAtom Y and if(X==Y) then Z
我试过“and, &&, &, andthen”,但没有任何效果。 Oz 文档让我头疼。
【问题讨论】:
【参考方案1】:在 Oz 中,And
是函数而不是运算符。因此,要执行 and 操作,您需要执行类似
And true false
将产生false
Here 是一本很好的参考手册。
【讨论】:
【参考方案2】:记住“then”是语句语法中的分隔符,“andthen”和“orelse”是布尔(短路)运算符
案例陈述:
PATTERN 的 case VALUE 然后是 STATEMENT
IF 语句:
如果 BOOLEXP 则声明
BOOLEXP: BOOLEXP 然后 BOOLEXP orelse BOOLEXP
【讨论】:
以上是关于如何在 Oz 编程语言中使用 AND的主要内容,如果未能解决你的问题,请参考以下文章
[线程本地存储 · 语雀 (yuque.com)](https://www.yuque.com/haofeiyu/java/oz8uve) 线程本地存储提供了线程内存储变量的能力,这些变量是线程私有