понимание списка в F#

Попробуйте

 :command WQ wq
 :command Wq wq
 :command W w
 :command Q q

Этот способ, которым можно определить собственные команды. См. :help command для получения дополнительной информации.

19
задан hlovdal 26 December 2010 в 14:40
поделиться

1 ответ

  • Вложенные циклы for требуют do .

  • Вам необходимо использовать seq {..} . Форма {..} без seq больше не работает.

  • A , когда защита в шаблоне цикла для установлена также больше не поддерживается.

  • print_any something устарел. Вместо этого используйте printf "% A" что-то .

Этот код должен работать:

let evens n =
    seq { for x in 1 .. n do if x%2=0 then yield x }
printf "%A" (evens 10)

let squarePoints n =
    seq { for x in 1 .. n do
            for y in 1 .. n  -> x,y }
printf "%A" (squarePoints 3)

Вы все равно можете использовать -> , если все, что вы хотите сделать, это вернуть одно значение :

let vec1 = [1;2;3]
let vec2 = [4;5;6]
let products = [for x in vec1 do for y in vec2 -> x*y]

Кстати, мне интересно посмотреть, как F # развивался с течением времени. Жаль, что у первых последователей на полках лежат частично устаревшие книги (я не возражаю).

21
ответ дан 30 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: