在 Charme 中定义阶乘过程

发布于 2024-10-28 09:42:45 字数 588 浏览 0 评论 0原文

我需要帮助在 Charme 中定义阶乘过程。该过程需要通过定义一个名为 charmeFactorialDefinition 的变量来表示为 Python 中的字符串。当您计算 evalInGlobal(charmeFactorialDefinition) 时,它应该定义一个名为 Factorial 的 Charme 过程。

输出应如下所示:

<块引用> <块引用>

初始化全局环境()

evalInGlobal(charmeFactorialDefinition)

evalInGlobal("(阶乘 5)")

120

好的,到目前为止我知道 Charme 不支持快速列出函数及其参数的定义快捷方式,所以我必须用 lambda 直接写出答案如:

charmeDoubleDefinition = "(define double (lambda (x) (+ xx)))"

但除此之外,我不知道如何开始

I need help defining a factorial procedure in Charme. The procedure needs to be expressed as a string in Python by defining a variable called charmeFactorialDefinition. When you evaluate evalInGlobal(charmeFactorialDefinition), it should define a Charme procedure called factorial.

Output should look like this:

initializeGlobalEnvironment()

evalInGlobal(charmeFactorialDefinition)

evalInGlobal("(factorial 5)")

120

Okay so far I know that Charme doesn't support the define shortcut for quickly listing functions and their arguments so I have to write the answer out longhand with lambda such as:

charmeDoubleDefinition = "(define double (lambda (x) (+ x x)))"

But beyond that, I have no clue how to start

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

呢古 2024-11-04 09:42:45

您应该为那些不这样做的人提供charme的链接不知道你在说什么。虽然这可能会解决你的问题。

charmeFactorialDefinition = "(define factorial (lambda (x) (if (> x 1) (* x factorial(x)) (1) ) ))"

You should provide a link to charme for people who don't know what you are talking about. Though this might solve your problem.

charmeFactorialDefinition = "(define factorial (lambda (x) (if (> x 1) (* x factorial(x)) (1) ) ))"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文