Я пытаюсь масштабировать последовательность по первому элементу последовательности, поэтому первый элемент всегда будет равен единице, а затем последующие элементы представляют собой отношение первого элемента к n-му элементу исходной последовательности.
Вот мой код,
open System
open System.Collections
let squish1 (x:Double seq) =
let r = (Seq.head x:Double)
Seq.fold (fun (xi:Double) (r:Double) -> xi/r);;
И я проверяю на этом маленьком векторе: -
squish1 [|5.0; 1.0; 1.0; 1.0; 1.0; 1.0|];;
Я набрал все, потому что я получаю это сообщение об ошибке
normaliseSequence.fsx (9,1): ошибка FS0030: ограничение значения. Значение 'it' было> выведено, чтобы иметь универсальный тип
val it: (Double -> '_a -> Double) когда' _a:> seq
Либо сделайте аргументы для 'it' явными, либо, если вы не собираетесь использовать его в качестве универсального,> добавьте аннотацию типа.
Но, очевидно, я неправильно понимаю, потому что я получаю сообщение об ошибке, даже когда все напечатано Чего мне не хватает?
Любой и все советы с благодарностью получены. Спасибо