Check-in [52d37fea35]

Login
FlightAware bounty program for improvements to Tcl and certain Tcl packages.

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

Overview
Comment:Fix some spelling and awkward wording
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:52d37fea350b97cf95a579e54315d955e61499264f7a7c5c42460eeae56c4eb4
User & Date: dkf 2018-06-10 20:49:14
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

Changes to tip/508.md.

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
..
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
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’
................................................................................

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.








|







 







|
|
|
|



|

|
|

|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
..
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
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’
................................................................................

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.