comparison runtime/doc/eval.txt @ 17413:40417757dffd v8.1.1705

patch 8.1.1705: using ~{} for a literal dict is not nice commit https://github.com/vim/vim/commit/4c6d90458baae843463f930fdc3fe4a7a2191d27 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 16 22:04:02 2019 +0200 patch 8.1.1705: using ~{} for a literal dict is not nice Problem: Using ~{} for a literal dict is not nice. Solution: Use #{} instead.
author Bram Moolenaar <Bram@vim.org>
date Tue, 16 Jul 2019 22:15:05 +0200
parents 2558f90045e5
children ca8e754bdd53
comparison
equal deleted inserted replaced
17412:6ab542e33829 17413:40417757dffd
58 58
59 Dictionary An associative, unordered array: Each entry has a key and a 59 Dictionary An associative, unordered array: Each entry has a key and a
60 value. |Dictionary| 60 value. |Dictionary|
61 Examples: 61 Examples:
62 {'blue': "#0000ff", 'red': "#ff0000"} 62 {'blue': "#0000ff", 'red': "#ff0000"}
63 ~{blue: "#0000ff", red: "#ff0000"} 63 #{blue: "#0000ff", red: "#ff0000"}
64 64
65 Funcref A reference to a function |Funcref|. 65 Funcref A reference to a function |Funcref|.
66 Example: function("strlen") 66 Example: function("strlen")
67 It can be bound to a dictionary and arguments, it then works 67 It can be bound to a dictionary and arguments, it then works
68 like a Partial. 68 like a Partial.
480 String automatically. Thus the String '4' and the number 4 will find the same 480 String automatically. Thus the String '4' and the number 4 will find the same
481 entry. Note that the String '04' and the Number 04 are different, since the 481 entry. Note that the String '04' and the Number 04 are different, since the
482 Number will be converted to the String '4'. The empty string can also be used 482 Number will be converted to the String '4'. The empty string can also be used
483 as a key. 483 as a key.
484 *literal-Dict* 484 *literal-Dict*
485 To avoid having to put quotes around every key the ~{} form can be used. This 485 To avoid having to put quotes around every key the #{} form can be used. This
486 does require the key to consist only of ASCII letters, digits, '-' and '_'. 486 does require the key to consist only of ASCII letters, digits, '-' and '_'.
487 Example: > 487 Example: >
488 let mydict = ~{zero: 0, one_key: 1, two-key: 2, 333: 3} 488 let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
489 Note that 333 here is the string "333". Empty keys are not possible here. 489 Note that 333 here is the string "333". Empty keys are not possible with #{}.
490 490
491 A value can be any expression. Using a Dictionary for a value creates a 491 A value can be any expression. Using a Dictionary for a value creates a
492 nested Dictionary: > 492 nested Dictionary: >
493 :let nestdict = {1: {11: 'a', 12: 'b'}, 2: {21: 'c'}} 493 :let nestdict = {1: {11: 'a', 12: 'b'}, 2: {21: 'c'}}
494 494