質問

私はかなり新しいウプログラミングとうまく理解さんを受けこのエラーは自分のコードです。

私の問題としての他の正の整数iとして表現することができi=2^n-k、kが奇数であるとして、電力の2倍奇数。我々の指数の2ん。例えば、指数の2 40 3(40=2^3*5)のに対し、指数の2 42を1とします。場自体が奇数の時には、そのnがゼロになります。が、一方で、私もそれによる2.関数を書くのexponentOfTwo見つける指数の2引数に指定する。

理解しているpsuedocodeるようになったようなシンプルです:再帰的に分割した2までの結果は、奇数、偶数回数の部門が起こりますn

こちらは自分のコード(ライン31-32):

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

私は受信のエラーあり"の語彙の誤り文字/文字リテラル文字'i'"のライン32列62.

私た解決方法を探るこのエラーもここまでした。

役に立ちましたか?

解決

使用機infix、サラウンドでbackticks(`)は単一引用符(').後者は文字リテラルは、もは一文字の長さです。

他のヒント

を取り巻くキャラクター div backquotesではなく通常の引用符?れている必要があるため、関数名として使用するinfixます。変えることに定義のコードを勤めました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top