2009-12-04 5 views
8

Компилятор VS2010 Beta 2 F # всегда жалуется на мое использование ключевого слова when, даже при использовании кода с копированием, который должен работать, например, из these snippets. Например, это ошибка я получаю при попытке выполнить очень тривиальное выражение:F #: всегда «неожиданно», когда «ключевое слово»

«FS0010 Ошибка: Неожиданный ключевое слово„когда“в выражении ожидается„->“или другой маркер..»

[for i in 1..50 when i < 10 -> i] 
---------------^^^^ 

ответ

7

Теперь вы должны использовать ключевое слово yield. Как что:

[for i in 1 .. 50 do if i < 10 then yield i] 
+0

спасибо, что работает. Но что случилось с «когда»? – Martin

+4

В соответствии с ссылкой на ключевое слово F # (http://msdn.microsoft.com/en-us/library/dd233249(VS.100).aspx), когда используется только в совпадениях шаблонов и ограничениях общего типа. Возможно, изменение языка с момента опубликования статьи? – itowlson

+0

Я просто могу посоветовать вам быть немного осторожным при использовании фрагментов из старых сообщений в блоге (могут произойти незначительные изменения языка). – Stringer

Смежные вопросы