Example Structure ref 006

 

 

Description

This example shows the ref function returns the key or value of the Structure through the index reference. This example uses the (ref aStruct index1 index2) function syntax.

 

Details

(setq Employee (new Structure: Name: "John Doe" Title: "Director")) Returns: #<Structure 123456>
(display Employee) Returns: #{Name: "John Doe" Title: "Director"}

The ref function returns keys of the Structure.

(ref Employee 0 0) Returns: Name:
(ref Employee 1 0) Returns: Title:

The ref function returns the values of the Structure.

(ref Employee 0 1) Returns: John Doe
(ref Employee 1 1) Returns: Director

Notes and Hints

An often used shorthand to reference a structure value or key is the . (period) operator or the [ ] (bracket) operator.

(setq Employee (new Structure: Name: "John Doe" Title: "Director"))

Employee.Name or Employee[0] Returns:John Doe
Employee.Title or Employee[0] Returns:Director

When a single index is used, the value portion of the specified binding is returned. However two indices offer the flexibility of referencing either the key or value as seen in the examples above.

 

Related Examples

Here are examples of the ref function at work.

BitVector ref 027 Boolean ref 018 Brick ref 036 Date ref 020
Dictionary ref 007 Dictionary ref 008 Dictionary ref 009 Directory ref 010
Directory ref 011 Directory ref 012 FltVector ref 022 Function ref 021
IntVector ref 023 Lambda ref 017 List ref 028 Matrix ref 015
Matrix ref 016 NumMatrix ref 035 NumVector ref 024 Number ref 019
ObjVector ref 025 ObjectRepository ref 030 ObjectRepository ref 031 ObjectRepository ref 032
ObjectRepository ref 033 ObjectRepository ref 034 PcodeVector ref 026 ShortVector ref 024
String ref 001 String ref 002 Structure ref 004 Structure ref 006
Symbol ref 003 Vector ref 013 Vector ref 014 Void ref 017

 

Function Links

Here is the link to the current function used in this example.

ref

Here are a number of links to other related functions.

setq(#void) ref(#void) fieldsOf(#void) refValues(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

Structure Integer Text Symbol

Here are a number of links to examples having similar argument types.

BitVector addMethod 023 BitVector cdr 010 BitVector compare 018 BitVector defmethod 020
BitVector findBlock 001 BitVector freeBlock 001 BitVector inside 007 BitVector isBitVector 001
BitVector isMember 008 BitVector isObject 012 BitVector length 013 BitVector member 008
BitVector methodsOf 021 BitVector ref 027 BitVector resize 010 BitVector sizeof 019
BitVector vectorFill 007 Boolean addMethod 011 Boolean addMethod 012 Boolean bcompareEQ 001
Boolean bcompareGE 001 Boolean bcompareGT 001 Boolean bcompareLE 001 Boolean bcompareLT 001
Boolean bcompareNE 001 Boolean boolean 001 Boolean compare 009 Boolean defmethod 012
Boolean isBoolean 001 Boolean methodsOf 012 Boolean send 010 Boolean setq 016
Boolean sizeof 009 Brick addMethod 008 Brick defmethod 025 Brick methodsOf 024
Brick send 027 ByteVector isByteVector 001 ByteVector isCharAlphabetic 003 ByteVector isCharAlphanumeric 003
ByteVector isCharLowercase 003 ByteVector isCharName 003 ByteVector isCharNumeric 003 ByteVector isCharUppercase 003
ByteVector isCharWhitespace 003 ByteVector isObject 013 ByteVector sizeof 020 Character addMethod 013
Character cadd 001 Character ccompareEQ 001 Character ccompareGE 001 Character ccompareGT 001
Character ccompareLE 001 Character ccompareLT 001 Character ccompareNE 001 Character cdiv 001
Character character 001 Character cmod 001 Character cmul 001 Character compare 010
Character csub 001 Character defmethod 013 Character isCharacter 001 Character methodsOf 013
Character send 011 Character setq 017 Character sizeof 010 Complex compare 021
Complex cos 002 Complex exp 002 Complex expt 002 Complex log 002
Complex log10 002 Complex log2 002 Complex logbase 002 Complex sin 002
Complex sqrt 002 Complex tan 002 Context debug 001 Context getGlobalValue 001
Context getSymbolTable 001 Context globalBinding 001 CpxVector addMethod 028 CpxVector avg 002
CpxVector binaryInsert 008 CpxVector binarySearch 008 CpxVector compare 020 CpxVector compareEQ 020
CpxVector compareGE 020 CpxVector compareGT 020 CpxVector compareLE 020 CpxVector compareLT 020
CpxVector compareNE 020 CpxVector send 028 Date addMethod 015 Date addMethod 016
Date compare 012 Date date 001 Date day 001 Date days360 001
Date defmethod 015 Date hour 001 Date methodsOf 015 Date minute 001
Date month 001 Date second 001 Date send 013 Date setq 019
Date sizeof 012 Date time 001 Date time 002 Date year 001
Dictionary addMethod 005 Dictionary binarySearch 002 Dictionary compare 004 Dictionary count 002
Dictionary defMethod 006 Dictionary delete 003 Dictionary delete 004 Dictionary insert 002
Dictionary inside 002 Dictionary isBound 002 Dictionary isDictionary 001 Dictionary isObject 004
Dictionary length 005 Dictionary member 002 Dictionary methodsOf 007 Dictionary new 004
Dictionary ref 007 Dictionary ref 008 Dictionary ref 009 Dictionary refAttributes 002
Dictionary refValues 002 Dictionary remove 002 Dictionary resize 002 Dictionary send 004
Dictionary setAttributes 002 Dictionary setq 007 Dictionary setq 008 Dictionary setq 009
Dictionary sizeof 004 Dictionary sort 003 Dictionary sort 005 Directory addMethod 006
Directory compare 005 Directory count 003 Directory defMethod 007 Directory delete 005
Directory delete 006 Directory insert 003 Directory inside 003 Directory isBound 003
Directory isInside 003 Directory isMember 003 Directory isObject 005 Directory length 006
Directory member 002 Directory methodsOf 008 Directory new 005 Directory new 006
Directory ref 010 Directory ref 011 Directory ref 012 Directory refAttributes 003
Directory refValues 003 Directory remove 003 Directory resize 003 Directory send 005
Directory setAttributes 003 Directory setq 010 Directory setq 011 Directory sizeof 005
Directory sort 008 Directory sort 009 FltVector addMethod 019 FltVector binaryInsert 004
FltVector cdr 006 FltVector compare 014 FltVector defmethod 017 FltVector delete 009
FltVector insert 005 FltVector isFloatVector 001 FltVector isObject 007 FltVector length 008
FltVector methodsOf 017 FltVector ref 022 FltVector resize 006 FltVector sizeof 014
FltVector uniqueInsert 004 FltVector vectorFill 003 Function addMethod 017 Function addMethod 018
Function compare 013 Function defmethod 016 Function methodsOf 016 Function send 014
Function sizeof 013 IntVector addMethod 020 IntVector binaryInsert 005 IntVector cdr 007
IntVector compare 015 IntVector defmethod 018 IntVector delete 010 IntVector insert 006
IntVector inside 005 IntVector isIntegerVector 001 IntVector isMember 005 IntVector isObject 008
IntVector length 009 IntVector member 005 IntVector methodsOf 018 IntVector ref 023
IntVector resize 007 IntVector sizeof 015 IntVector uniqueInsert 005 IntVector vectorFill 004
Integer binaryNot 001 Integer bitwiseNot 001 Integer fact 001 Integer gcd 001
Integer iadd 001 Integer icompareGE 001 Integer icompareGT 001 Integer icompareLE 001
Integer icompareLT 001 Integer icompareNE 001 Integer idiv 001 Integer imod 001
Integer imul 001 Integer integer 001 Integer isub 001 Integer lcm 001
Lambda balance 001 Lambda debug 001 Lambda define(macro) 001 Lambda defmacro 001
Lambda defmacro 002 Lambda exportTab 001 Lambda globalBinding 001 Lambda importTab 001
Lambda isLambda 001 Lambda ref 017 Lambda setq 015 List addMethod 025
List count 007 List count 008 List defmethod 022 List length 015
List methodsOf 022 List send 020 List sizeof 022 Matrix addMethod 008
Matrix binaryInsert 004 Matrix binaryInsert 005 Matrix cdr 007 Matrix cdr 008
Matrix compare 007 Matrix count 005 Matrix defMethod 009 Matrix delete 009
Matrix insert 005 Matrix inside 005 Matrix isMatrix 001 Matrix isMember 005
Matrix isNumberMatrix 001 Matrix isObject 007 Matrix length 008 Matrix makeGaussianMatrix 001
Matrix makeGramMatrix 001 Matrix matrixGaussianEliminate 001 Matrix matrixGaussianSubstitute 001 Matrix member 005
Matrix methodsOf 010 Matrix rank 001 Matrix ref 015 Matrix ref 016
Matrix resize 005 Matrix setq 014 Matrix sizeof 007 Matrix uniqueInsert 004
Matrix vectorFill 002 NumMatrix addMethod 027 NumMatrix binaryInsert 007 NumMatrix cdr 011
NumMatrix compare 023 NumMatrix count 009 NumMatrix defmethod 024 NumMatrix delete 014
NumMatrix insert 009 NumMatrix inside 009 NumMatrix isMember 010 NumMatrix isNumberMatrix 001
NumMatrix isObject 014 NumMatrix length 017 NumMatrix makeGaussianMatrix 001 NumMatrix makeGramMatrix 001
NumMatrix matrixGaussianEliminate 001 NumMatrix matrixGaussianSubstitute 001 NumMatrix member 009 NumMatrix methodsOf 024
NumMatrix rank 002 NumMatrix ref 035 NumMatrix resize 011 NumMatrix sizeof 028
NumMatrix uniqueInsert 005 NumMatrix vectorFill 008 NumVector addMethod 021 NumVector binaryInsert 006
NumVector cdr 008 NumVector compare 016 NumVector defmethod 019 NumVector delete 011
NumVector insert 007 NumVector inside 006 NumVector isMember 006 NumVector isNumberVector 001
NumVector isObject 009 NumVector length 010 NumVector member 006 NumVector methodsOf 019
NumVector objectToNumVector 001 NumVector ref 024 NumVector resize 008 NumVector sizeof 016
NumVector svmRegression 001 NumVector uniqueInsert 006 NumVector vectorFill 005 Number addMethod 014
Number asin 001 Number atan 001 Number avg 001 Number compare 011
Number cos 001 Number cosh 001 Number defmethod 014 Number deg 001
Number exp 001 Number floor 001 Number kurtosis 001 Number log 001
Number log10 001 Number log2 001 Number logbase 001 Number max 001
Number median 001 Number methodsOf 014 Number min 001 Number mod 001
Number modi 001 Number nadd 001 Number ncompareGE 001 Number ncompareGT 001
Number ncompareLE 001 Number ncompareLT 001 Number ndiv 001 Number nmod 001
Number nmul 001 Number nsub 001 Number number 001 Number pi 001
Number product 001 Number rad 001 Number random 001 Number randomize 001
Number range 001 Number round 001 Number send 012 Number setq 018
Number sign 001 Number sin 001 Number sinh 001 Number sizeof 011
Number skew 001 Number sqrt 001 Number srandom 001 Number stdev 001
Number stdevp 001 Number sumsqr 001 Number tan 001 Number tanh 001
Number var 001 Number varp 001 ObjVector addMethod 022 ObjVector cdr 009
ObjVector compare 017 ObjVector delete 012 ObjVector insert 008 ObjVector isMember 007
ObjVector isObject 010 ObjVector isObjectVector 001 ObjVector length 011 ObjVector member 007
ObjVector ref 025 ObjVector resize 009 ObjVector sizeof 017 ObjVector uniqueInsert 007
ObjVector vectorFill 006 ObjectRepository addMethod 026 ObjectRepository defmethod 023 ObjectRepository delete 013
ObjectRepository methodsOf 023 ObjectRepository send 026 Pair addMethod 024 Pair compare 019
Pair compareEQ 019 Pair compareGE 019 Pair compareGT 019 Pair compareLE 019
Pair compareLT 019 Pair compareNE 019 Pair comparison 019 Pair count 006
Pair defmethod 021 Pair length 014 Pair methodsOf 021 Pair send 019
Pair sizeof 021 PcodeVector isObject 011 PcodeVector isPcodeVector 001 PcodeVector length 012
PcodeVector methodsOf 020 PcodeVector ref 026 PcodeVector sizeof 018 ShortVector addMethod 021
ShortVector binaryInsert 006 ShortVector cdr 008 ShortVector compare 016 ShortVector defmethod 019
ShortVector delete 011 ShortVector insert 007 ShortVector inside 006 ShortVector isMember 006
ShortVector isObject 009 ShortVector length 010 ShortVector member 006 ShortVector methodsOf 019
ShortVector ref 024 ShortVector resize 008 ShortVector sizeof 016 ShortVector uniqueInsert 007
ShortVector vectorFill 005 String addMethod 001 String clean 001 String code 001
String compare 001 String compareEQ 001 String compareGE 001 String compareGT 001
String compareLE 001 String compareLT 001 String compareNE 001 String defMethod 001
String defMethod 002 String downcase 001 String find 001 String find 002
String hashString 001 String isChar 001 String isCharAlphabetic 001 String isCharAlphanumeric 001
String isCharLowercase 001 String isCharName 001 String isCharNumeric 001 String isCharUppercase 001
String isCharWhitespace 001 String isEqual 001 String isEqual 002 String isObject 001
String isString 001 String isText 001 String isType 001 String isType 002
String isType 003 String left 001 String length 001 String length 002
String methodsOf 001 String methodsOf 002 String methodsOf 003 String mid 001
String new 001 String parse 001 String ref 001 String ref 002
String replace 001 String rept 001 String right 001 String send 001
String setq 001 String sizeof 001 String string 001 String string 002
String string 003 String stringCiEQ 001 String stringCiGE 001 String stringCiGT 001
String stringCiLE 001 String stringCiLT 001 String stringCiNE 001 String stringFill 001
String stringToBVector 001 String stringToBVector 002 String stringToBVector 003 String stringToVector 001
String stringToVector 002 String stringToVector 003 String stringToVector 004 String substitute 001
String substitute 002 String substring 001 String substring 002 String substringCiEQ 001
String substringCiGE 001 String substringCiGT 001 String substringCiLE 001 String substringCiLT 001
String substringCiNE 001 String text 001 String trim 001 String type 001
String upcase 001 String upcase 002 String upcase 003 Structure addMethod 003
Structure addMethod 004 Structure append 004 Structure append 005 Structure apply 001
Structure apply 002 Structure binaryInsert 001 Structure binarySearch 001 Structure cdr 001
Structure cdr 002 Structure compareEQ 003 Structure compareGE 003 Structure compareGT 003
Structure compareLE 003 Structure compareLT 003 Structure compareNE 003 Structure comparison functions 003
Structure copy 001 Structure count 001 Structure defineStructure 001 Structure defineStructure 002
Structure defineStructure 003 Structure defmethod 004 Structure defmethod 005 Structure defstruct 001
Structure defstruct 002 Structure delete 001 Structure delete 002 Structure fieldsOf 001
Structure insert 001 Structure inside 001 Structure isAtom 001 Structure isBound 001
Structure isEqual 001 Structure isIdentical 001 Structure isInside 001 Structure isMember 001
Structure isObject 003 Structure isStructure 001 Structure isType 005 Structure length 004
Structure makeStructure 001 Structure makeStructure 002 Structure map 001 Structure mapc 001
Structure member 001 Structure methodsOf 005 Structure new 003 Structure objectToStructure 001
Structure objectToStructure 002 Structure objectToStructure 003 Structure objectToStructure 004 Structure ref 004
Structure ref 006 Structure refAttributes 001 Structure refValues 001 Structure remove 001
Structure resize 001 Structure send 003 Structure setAttributes 001 Structure setCdr 001
Structure setCdr 002 Structure setLastCdr 001 Structure setq 003 Structure setq 004
Structure setq 005 Structure setq 006 Structure sizeof 003 Structure sort 001
Structure sort 002 Structure sort 003 Structure type 003 Structure type 004
Structure type 005 Structure uniqueInsert 001 Structure uniqueInsert 002 Symbol *< 001
Symbol ++ 001 Symbol +< 001 Symbol -- 001 Symbol -< 001
Symbol /< 001 Symbol addMethod 002 Symbol append 003 Symbol compare 002
Symbol compareEQ 002 Symbol compareGE 002 Symbol compareGT 002 Symbol compareLE 002
Symbol compareLT 002 Symbol compareNE 002 Symbol comparison functions 002 Symbol defMethod 003
Symbol downcase 002 Symbol getGlobalValue 001 Symbol getGlobalValue 002 Symbol getSymbolTable 001
Symbol getSymbolTable 002 Symbol hashString 002 Symbol isCharAlphabetic 002 Symbol isCharAlphanumeric 002
Symbol isCharLowercase 002 Symbol isCharName 002 Symbol isCharNumeric 002 Symbol isCharUppercase 002
Symbol isCharWhitespace 002 Symbol isObject 002 Symbol isSymbol 001 Symbol isType 004
Symbol length 003 Symbol methodsOf 004 Symbol new 002 Symbol proplist 001
Symbol proprecord 001 Symbol putprop 001 Symbol ref 003 Symbol remProp 001
Symbol send 002 Symbol setq 001 Symbol setq 002 Symbol sizeof 002
Symbol symbol 001 Symbol symbol 002 Symbol type 002 Symbol upcase 004
Vector addMethod 007 Vector binaryInsert 002 Vector binaryInsert 003 Vector cdr 005
Vector cdr 006 Vector compare 006 Vector count 004 Vector defmethod 008
Vector delete 007 Vector delete 008 Vector insert 004 Vector inside 004
Vector isMember 004 Vector isObject 006 Vector isVector 001 Vector length 007
Vector member 004 Vector methodsOf 009 Vector objectToVector 001 Vector ref 013
Vector ref 014 Vector refAttributes 004 Vector refValues 004 Vector resize 004
Vector setAttributes 004 Vector setAttributes 005 Vector setBlock 001 Vector setq 012
Vector setq 013 Vector sizeof 006 Vector uniqueInsert 003 Vector vectorFill 001
Void addMethod 009 Void addMethod 010 Void compare 008 Void defmethod 010
Void defmethod 011 Void methodsOf 011 Void ref 017 Void setq 015
Void sizeof 008 substringEQ 001 substringFill 001 substringGE 001
substringGT 001 substringLE 001 substringLT 001 substringNE 001

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE