Я попытался использовать кортеж для создания нового экземпляра класса, определенного в 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 аргумента.
Если я удалю конструктор не по умолчанию, все будет в порядке. Я не понимаю, почему это становится двумя/тремя аргументами вместо кортежей.
Большое Вам спасибо.