F#: всегда "неожиданно", когда "ключевое слово"
Компилятор VS2010 Beta 2 F# всегда жалуется на то, что я использовал ключевое слово when, даже когда использую скопированный код, который должен работать, например, любой из этих фрагментов. Например, это ошибка, которую я получаю при попытке выполнить очень тривиальное выражение:
"Ошибка FS0010: неожиданное ключевое слово" когда "в выражении. Ожидается" -> "или другой токен. "
[for i in 1..50 when i < 10 -> i]
---------------^^^^
2 ответа
Решение
Ты хочешь
[for i in 1..50 do
if i < 10 then
yield i]
"Короткий" синтаксис с "когда" был удален некоторое время назад. Увидеть
и искать "компактные выражения последовательности" в этом документе.
Вы должны использовать ключевое слово yield сейчас. Как это:
[for i in 1 .. 50 do if i < 10 then yield i]