Mercurial > vim
diff runtime/doc/vim9.txt @ 21715:571832713efa v8.2.1407
patch 8.2.1407: Vim9: type of list and dict only depends on first item
Commit: https://github.com/vim/vim/commit/127542bcebeb6480493b09d75a3be1d98a5f7797
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 9 17:22:04 2020 +0200
patch 8.2.1407: Vim9: type of list and dict only depends on first item
Problem: Vim9: type of list and dict only depends on first item.
Solution: Use all items to decide about the type.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 09 Aug 2020 17:30:03 +0200 |
parents | 1b345fb68ae3 |
children | ef3b31d510d2 |
line wrap: on
line diff
--- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -619,6 +619,8 @@ called in the same way the declaration i Custom types can be defined with `:type`: > :type MyList list<string> +Custom types must start with a capital letter, to avoid name clashes with +builtin types added later, similarly to user functions. {not implemented yet} And classes and interfaces can be used as types: > @@ -645,6 +647,12 @@ declaring a variable and giving it a val let var = 0 " infers number type let var = 'hello' " infers string type +The type of a list and dictionary comes from the common type of the values. +If the values all have the same type, that type is used for the list or +dictionary. If there is a mix of types, the "any" type is used. > + [1, 2, 3] list<number> + ['a', 'b', 'c'] list<string> + [1, 'x', 3] list<any> ==============================================================================