'where' 句内で関数を記述する正しい方法を教えてください。私は質問を表現するのに苦労しているので、例で示したいと思います:
where句の最上位関数に提供されたパラメータを使用できます
complexMath num1 num2 = sum * sum
where sum = num1 + num2
または、「where」句内で関数をパラメーター化することもできます
complexMath num1 num2 = (sum num1 num2) * (sum num1 num2)
where sum n1 n2 = n1 + n2
どちらのバリアントも機能しますが、少なくとも構文に関しては、正しい方法が必要です。それで、それは何ですか?多分それは本当に問題ではなく、私はただ愚かです...
ありがとう。
編集
sum 関数が 2 回使用されるように、関数の例を少しわかりやすくするために変更しました。
そして、これはどうですか?
complexMath num1 = let num2 = 10 + 8 in sum num2 * sum num2
where sum n2 = num1 + n2
これは正しい書き方でしょうか?