Попробуйте
:command WQ wq
:command Wq wq
:command W w
:command Q q
Этот способ, которым можно определить собственные команды. См. :help command
для получения дополнительной информации.
Вложенные циклы 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 # развивался с течением времени. Жаль, что у первых последователей на полках лежат частично устаревшие книги (я не возражаю).