Я попытался использовать кортеж для создания нового экземпляра класса, определенного в F #. Чтобы воспроизвести проблему, я попробовал следующий код.
type test(x: int, y:int) =
let distance =
x * x + y * y |> float |> sqrt
new (x: int, y:int, z:int) =
new test(x, y)
let args = 1, 2
let test2 = new test(args)
Он жалуется, что
Ошибка 1 Член или объект конструктор test не занимает 1 аргумент (ы). Обнаружена перегрузка принимая 2 аргумента.
Если я удалю конструктор, отличный от конструктора по умолчанию, все в порядке. Я не понимаю, почему вместо кортежей получается два / три аргумента.
Большое спасибо.