Check-in [52d37fea35]

Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix some spelling and awkward wording
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 52d37fea350b97cf95a579e54315d955e61499264f7a7c5c42460eeae56c4eb4
User & Date: dkf 2018-06-10 20:49:14.802
Context
2018-06-13
20:50
examples and docu of tip 507 added check-in: 8331611a7f user: rene tags: trunk
2018-06-10
20:49
Fix some spelling and awkward wording check-in: 52d37fea35 user: dkf tags: trunk
20:44
Formatting tweaking check-in: 11ef41277a user: dkf tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to tip/508.md.
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
for arrays, causing that value to be returned any time an attempt is made to
access an element of the array that isn't present.

# Rationale

For its most basic usages, a Tcl array variable can be seen as a collection of
scalar variables. However, an array also has its own existence as a variable and
provides specficic actions on itself and on its elements. For exampe, the
regular way to check for a variable existence is to use the **info exists**
command, and this is true for both arrays and scalars (including array
elements); likewise, the **set** command is used to read and write the value of
a scalar vars and array elements, however array variables have no value in
themselves but provide a way to get and set several of its elements at once.

For more advanced usages, one must get past the simple ‘collection of scalars’







|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
for arrays, causing that value to be returned any time an attempt is made to
access an element of the array that isn't present.

# Rationale

For its most basic usages, a Tcl array variable can be seen as a collection of
scalar variables. However, an array also has its own existence as a variable and
provides specific actions on itself and on its elements. For example, the
regular way to check for a variable existence is to use the **info exists**
command, and this is true for both arrays and scalars (including array
elements); likewise, the **set** command is used to read and write the value of
a scalar vars and array elements, however array variables have no value in
themselves but provide a way to get and set several of its elements at once.

For more advanced usages, one must get past the simple ‘collection of scalars’
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

A new **array default** subcommand will be created with the following syntax:

> **array default**  _option arrayName_ ?_arg_?

The following _option_ values are supported:

* **array default get** _arrayName_: Get _arrayName_
  default value. Raise an error if _arrayName_ is not an array variable or if it
  has no default value.
* **array default set** _arrayName value_: Set the default value for
  the array _arrayName_. If the variable _arrayName_ does not already exist,
  it is created with an empty array value. Raise an error if _arrayName_ is an
  existing scalar variable or an invalid array name.
* **array default exists** _arrayName_: Test whether array
  _arrayName_ has a default value. Return false if _arrayName_ does not exist.
  Raise an error if _arrayName_ exists but is not an array variable.
* **array default unset** _arrayName_: Unsets _arrayName_'s default
  value so that the array no longer has a default. Does nothing if
  _arrayName_ does not exist. Raise an error if
  _arrayName_ is not an array variable.

The default value is only used as a last resort where an error would normally
occur when accessing a non-existing array element. Read traces are processed
_before_ that point and are free to set the element value or modify the default
value.








|
|
|
|



|

|
|

|







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

A new **array default** subcommand will be created with the following syntax:

> **array default**  _option arrayName_ ?_arg_?

The following _option_ values are supported:

* **array default get** _arrayName_ Get the default value for the array
  _arrayName_. Raise an error if _arrayName_ is not an array variable
  or if it has no default value.
* **array default set** _arrayName value_ Set the default value for
  the array _arrayName_. If the variable _arrayName_ does not already exist,
  it is created with an empty array value. Raise an error if _arrayName_ is an
  existing scalar variable or an invalid array name.
* **array default exists** _arrayName_ Tests whether the array
  _arrayName_ has a default value. Return false if _arrayName_ does not exist.
  Raises an error if a variable _arrayName_ exists but is not an array variable.
* **array default unset** _arrayName_ Unsets _arrayName_'s default
  value so that the array no longer has a default. Does nothing if
  _arrayName_ does not exist. Raises an error if
  _arrayName_ is not an array variable.

The default value is only used as a last resort where an error would normally
occur when accessing a non-existing array element. Read traces are processed
_before_ that point and are free to set the element value or modify the default
value.