Difference between revisions of "Field Target References"

From HLKitWiki
Jump to: navigation, search
Line 54: Line 54:
 
|-
 
|-
 
|arraydump
 
|arraydump
|(Right, String)  
+
|(Right, String) Generates and returns a text string the contains the values of all elements in the array, with the results appropriately formatted for easy viewing. This mechanism is ideal for use within "debug" statements to help isolate scripting problems with arrays. Only usable with array-based fields.<br>
 +
Example: result = this.field[myfield].arraydump<br>
 +
{{note}}The generated output is capped to the limits of the debug output mechanism, so using this mechanism with large arrays and/or text-based fields may result in the output being truncated.
 
|-
 
|-
 
|matrixdump
 
|matrixdump
|(Right, String)  
+
|(Right, String) Generates and returns a text string the contains the values of all elements in the matrix, with the results appropriately formatted for easy viewing. This mechanism is ideal for use within "debug" statements to help isolate scripting problems with matrices. Only usable with matrix-based fields.<br>
 +
Example: result = this.field[myfield].matrixdump<br>
 +
{{note}}The generated output is capped to the limits of the debug output mechanism, so using this mechanism with large matrices and/or text-based fields may result in the output being truncated.
 
|-
 
|-
 
|modify[''oper'',''val'',''str'']
 
|modify[''oper'',''val'',''str'']

Revision as of 20:28, 6 December 2008

Context: HL KitKit Reference … Target References 

There are a variety of ways to access and manipulate the contents of fields. The complete list of target references for fields is presented in the table below.

NOTE! When a field is accessed from within a thing or a visual script, all operations are restricted to read-only behavior. Any attempts to modify a field from within a thing context or via a visual script will fail.

value (Left, Right, Number) Accesses the contents of the field as a numeric value. If the field is text and the contents retrieved, the contents are automatically converted to a suitable value.

Example: result = this.field[myfield].value
Example: this.field[myfield].value = 42

text (Left, Right, String) Accesses the contents of the field as a string. If the field is numeric can the contents retrieved, the contents are automatically converted to a suitable string.

Example: result = this.field[myfield].text
Example: this.field[myfield].text = "hello"

isempty (Right, Number) Returns non-zero if the field contains the empty string and zero if it contains text of any length. If used on a numeric field or with an array or matrix, an error is reported. Testing of array and matrix elements must be done via the "compare" intrinsic.

Example: result = this.field[myfield].isempty

reset (Right, Number) The contents of the field are reset to the initial default value for the thing. A value of zero is always returned.

Example: perform this.field[myfield].reset

ischosen (Right, Number) Returns non-zero if the field contains a pick or a thing that was selected via a menu. If the field is associated with a menu and no selection has yet been made, zero is returned.

Example: result = this.field[myfield].ischosen

delta (Left, Right, Number) Accesses the delta component of a user field for manipulation separately from the user-specified value. The field must be explicitly configured to support delta processing.

Example: result = this.field[myfield].delta
Example: this.field[myfield].delta = 2

arrayvalue[row] (Left, Right, Number) Accesses the contents of a specific element of the array-based field as a numeric value. The index of the element is given by row, where the index is a zero-based value that must be less than the number of rows in the array. If the field is text and the contents retrieved, the contents are automatically converted to a suitable value.

Example: result = this.field[myfield].arrayvalue[3]
Example: this.field[myfield].arrayvalue[3] = 42

arraytext[row] (Left, Right, Number) Accesses the contents of a specific element of the array-based field as a string. The index of the element is given by row, where the index is a zero-based value that must be less than the number of rows in the array. If the field is numeric can the contents retrieved, the contents are automatically converted to a suitable string.

Example: result = this.field[myfield].arraytext[3]
Example: this.field[myfield].arraytext[3] = "hello"

matrixvalue[row,col] (Left, Right, Number) Accesses the contents of a specific element of the matrix-based field as a numeric value. The index of the element is given by row and col, where the indices are zero-based values that must be less than the number of rows and columns in the matrix, respectively. If the field is text and the contents retrieved, the contents are automatically converted to a suitable value.

Example: result = this.field[myfield].matrixvalue[3,4]
Example: this.field[myfield].matrixvalue[3,4] = 42

matrixtext[row,col] (Left, Right, String) Accesses the contents of a specific element of the matrix-based field as a string. The index of the element is given by row and col, where the indices are zero-based values that must be less than the number of rows and columns in the matrix, respectively. If the field is numeric and the contents retrieved, the contents are automatically converted to a suitable string.

Example: result = this.field[myfield].matrixvalue[3,4]
Example: this.field[myfield].matrixvalue[3,4] = 42

arraydump (Right, String) Generates and returns a text string the contains the values of all elements in the array, with the results appropriately formatted for easy viewing. This mechanism is ideal for use within "debug" statements to help isolate scripting problems with arrays. Only usable with array-based fields.

Example: result = this.field[myfield].arraydump
NOTE! The generated output is capped to the limits of the debug output mechanism, so using this mechanism with large arrays and/or text-based fields may result in the output being truncated.

matrixdump (Right, String) Generates and returns a text string the contains the values of all elements in the matrix, with the results appropriately formatted for easy viewing. This mechanism is ideal for use within "debug" statements to help isolate scripting problems with matrices. Only usable with matrix-based fields.

Example: result = this.field[myfield].matrixdump
NOTE! The generated output is capped to the limits of the debug output mechanism, so using this mechanism with large matrices and/or text-based fields may result in the output being truncated.

modify[oper,val,str] (Right, Number)
history[spl] (Right, String)