Почему «-1» не работает, чтобы вычесть 1? - PullRequest
3 голосов
/ 02 декабря 2008

Я пытался закодировать вместе с PDC2008 Intro для F # video . Я получаю сообщение об ошибке в последней строке фрагмента кода, показанного ниже (которую докладчик не получил) «Ошибка 1 Это значение не является функцией и не может быть применено» Я использую Fsharp-1.9.6.2 в оболочке Visual Studio 2008. Символ startPrice в последней строке подчеркнут красным с той же ошибкой при наведении курсора мыши. Заранее спасибо!

type StockAnalyzer (lprices, days) = 
    let prices =
        lprices
        |> Seq.map snd
        |> Seq.take days
    static member GetAnalyzers (tickers,days) = 
        tickers
        |> Seq.map loadPrices
        |> Seq.map (fun prices -> new  StockAnalyzer (prices, days))
    member s.Return = 
        let  lastPrice = prices |> Seq.nth 0
        let  startPrice = prices |> Seq.nth (days - 1)
        lastPrice / startPrice  -1.

1 Ответ

5 голосов
/ 02 декабря 2008

Попробуйте поставить пробел между «-» и «1». Компилятор F # интерпретирует -1 как буквально отрицательное значение 1 вместо вычитания 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...