gpt4 book ai didi

Haskell:字符 'i' 处的字符串/字 rune 字中的词法错误

转载 作者:行者123 更新时间:2023-12-04 17:58:00 25 4
gpt4 key购买 nike

我对 Haskell 编程还很陌生,我无法理解为什么在我的代码中收到此错误。

我的问题如下:任何正整数 i 都可以表示为 i = 2^n*k,其中 k 是奇数,即奇数的 2 次幂。我们称 n 为 i 中 2 的指数。例如,40 中 2 的指数是 3(因为 40 = 2^3*5)而 42 中 2 的指数是 1。如果 i 本身是奇数,则 n 为零。另一方面,如果 i 是偶数,则意味着它可以被 2 整除。编写一个函数 exponentOfTwo 来查找其参数中 2 的指数。

我理解伪代码,它看起来相当简单:递归地将 i 除以 2 直到结果为奇数,除法发生的次数为 n

这是我的代码(第 31-32 行):

exponentOfTwo :: Int -> Int  
exponentOfTwo i = if odd i then 0 else 1 + exponentOfTwo (i 'div' 2)

我在第 32 行第 62 列收到错误“字符 'i' 处的字符串/字 rune 字中的词法错误”。

我已经尝试在任何地方寻找解决此错误的方法,但到目前为止我没有运气。

最佳答案

要在中缀 for 中使用函数,请用反引号 (`) 将其括起来,而不是用单引号 (')。后者用于字 rune 字,它们只有一个字符长。

关于Haskell:字符 'i' 处的字符串/字 rune 字中的词法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4910017/

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