-1

私はこのコードを持っています:

divideByTen :: (Floating a ) => a -> a
divideByTen = (/10)

これを.hsファイルに入れると。これでは不十分なようです。

(私はMac osxでghciを使用しています)。

ありがとうございました。

:load ** .hsを実行した後

このエラーが発生しました

byby.hs:1:17:
    Class `Floating' used as a type
    In the type signature for `divideByTen':
      divideByTen :: (Floating a) a -> a
Failed, modules loaded: none.
4

3 に答える 3

5

問題は、エラーメッセージGHCが吐き出す=>タイプシグネチャにこの矢印がないことから明らかなように、矢印がどこかにドロップされているように見えることです。divideByTen

.hsファイルの内容が上記のコードスニペットと正確に一致していることを確認してください。問題がないはずです。

于 2012-09-02T15:18:05.757 に答える
5

コードスライスで示した方法は問題ありませんが、エラーは=>、型署名にが欠落していることを明確に示しています。

今後、問題のコードをコピーして貼り付けてください。もしそうなら、おそらくあなたのエディタは=>Unicodeまたは他の変換に変換されています。

于 2012-09-02T15:18:06.517 に答える
2

それが書かれているように、あなたのコードは私のために働きます。

ソースコードで奇妙な変換を行う可能性のあるIDEを使用していますか?コマンドラインに移動し、ファイルの内容をダンプして確認します。

行はどのようにインデントされますか?ファイルに他のコードはありますか?空白は、Haskellでの行の解析方法を変更できます。

于 2012-09-02T15:08:30.187 に答える