F# | Почему компилятор выдаёт ошибку FS0001?
У меня есть простенький код, в котором создаётся публичный класс. В нём один статический мембер (метод). Я его вызываю, пишет ошибку FS0001. Помогите, я понимаю, что означает код ошибки, но не понимаю, почему компилятор шизанулся. Код:
open System
type calculator public () =
static member add (x: int) (y: int) =
printf "%d + %d = %d" x y (x + y)
[<EntryPoint>]
let main argv =
calculator.add(1, 2)
0
Ошибка:
Program.fs(12, 20): [FS0001] В данном выражении требовалось наличие типа
"int"
, но получен тип
"'a * 'b"
Ответы (1 шт):
Автор решения: Fyodor Soikin
→ Ссылка
При объявлении функции вы объявили параметры по отдельности - (x: int) (y: int), - но при вызове функции вы передаёте их почему-то в виде пары - (1, 2).
Как параметры объявлены, так их нужно и передавать:
calculator.add 1 2