免責事項:私はhaskellの新しいnewbですが、私は答えを見つけることができません。たぶん私は間違った方法で検索しているのでしょうか、それともとても基本的なので、誰もそれを聞かないでしょう。ここでPrintfのテキストとメソッド呼び出しの戻り値
は私がやろうものです:
import Text.Printf
factorial n = if n < 2 then 1 else n * factorial (n-1)
main = do
let input = 22
printf "Some text... %d! = %d" input (factorial input)
しかし、それは動作しません、エラーの束が表示されます。あなたは私に間違ったことをしているかのような速やかなヒントを教えてもらえますか?
コンパイラは 'input'の型を推論することができません。なぜなら、' No instance for ... 'のような多くのエラーがあるからです。 – freestyle
"一群のエラーが出ます" - 避けてください実際のエラーを報告することなく投稿することができます。さらに、 'printf'はHaskellではあまり頻繁に使われていません - 特殊な書式が必要な場合にのみ使用してください。さもなければ、単にputStrLn( "x =" ++ show x ++ "、y =" ++ show y ")のような簡単なものを使用してください。 – chi