Example Structure defstruct 001

 

 

Description

This example defines a new type Structure name using the defstruct function with the properties name, job, salary.

 

Details

The Structure name "employee" is defined.

(defstruct employee: name: job: salary:) Returns: employee

Define an instance of the employee object and verify its type.

(define X (new employee: ) ) Returns: employee
(isType employee: X ) Returns: true

Create another instance of the employee object using a constructor function

(define Y (new employee:) ) Returns: employee

The properties of Structure Y do not contain any value since they haven't yet been initialized.

(display Y.name) Returns: #void true
(display Y.job) Returns: #void true
(display Y.salary) Returns: #void true

Create an instance of the employee object using a constructor function and initializers

(define Z (new employee: name: "John Doe" job: "CEO" salary: 100000 ) ) Returns: employee

The properties of Structure Y now contain the initilized values.

(display Z.name) Returns: John Doe
(display Z.job) Returns: CEO
(display Z.salary) Returns: 100000

 

Related Examples

Here are examples of the defstruct function at work.

Structure defstruct 001 Structure defstruct 002

 

Function Links

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

defstruct

Here are a number of links to other related functions.

defineStructure(#void) fieldsOf(#void) makeStructure(#void) defclass(#void)
objectToStructure(#void)

 

Argument Types

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

Structure Integer Text Boolean

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

BitVector cdr 010 BitVector compare 018 BitVector compareEQ 014 BitVector compareGE 014
BitVector compareGT 014 BitVector compareLE 014 BitVector compareLT 014 BitVector compareNE 014
BitVector comparison 014 BitVector findBlock 001 BitVector freeBlock 001 BitVector inside 007
BitVector isAtom 010 BitVector isBitVector 001 BitVector isEqual 017 BitVector isIdentical 017
BitVector isMember 008 BitVector isObject 012 BitVector isType 020 BitVector length 013
BitVector member 008 BitVector ref 027 BitVector resize 010 BitVector sizeof 019
BitVector sort 017 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 compareEQ 009 Boolean compareGE 009 Boolean compareGT 009 Boolean compareLE 009
Boolean compareLT 009 Boolean compareNE 009 Boolean comparison functions 009 Boolean isBoolean 001
Boolean isEqual 007 Boolean isIdentical 007 Boolean isType 011 Boolean ref 018
Boolean setq 016 Boolean sizeof 009 Boolean type 011 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 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 isCharacter 001 Character setq 017
Character sizeof 010 Complex compare 021 Complex cos 002 Complex exp 002
Complex expt 002 Complex isComplex 001 Complex log 002 Complex log10 002
Complex log2 002 Complex logbase 002 Complex sin 002 Complex sqrt 002
Complex tan 002 Context clear 001 Context debug 001 Context globalBinding 001
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 Date compare 012 Date date 001
Date day 001 Date days360 001 Date hour 001 Date minute 001
Date month 001 Date second 001 Date setq 019 Date sizeof 012
Date time 001 Date time 002 Date year 001 Dictionary compare 004
Dictionary compareEQ 004 Dictionary compareGE 004 Dictionary compareGT 004 Dictionary compareLE 004
Dictionary compareLT 004 Dictionary compareNE 004 Dictionary comparison functions 004 Dictionary count 002
Dictionary delete 003 Dictionary delete 004 Dictionary insert 002 Dictionary isAtom 002
Dictionary isBound 002 Dictionary isDictionary 001 Dictionary isEqual 002 Dictionary isIdentical 002
Dictionary isInside 002 Dictionary isMember 002 Dictionary isObject 004 Dictionary isType 006
Dictionary length 005 Dictionary member 002 Dictionary new 004 Dictionary ref 007
Dictionary ref 008 Dictionary ref 009 Dictionary refAttributes 002 Dictionary refValues 002
Dictionary resize 002 Dictionary setAttributes 002 Dictionary setq 007 Dictionary setq 008
Dictionary setq 009 Dictionary sizeof 004 Dictionary sort 003 Directory compare 005
Directory compareEQ 005 Directory compareGE 005 Directory compareGT 005 Directory compareLE 005
Directory compareLT 005 Directory compareNE 005 Directory comparison functions 005 Directory count 003
Directory delete 005 Directory delete 006 Directory insert 003 Directory inside 003
Directory isAtom 003 Directory isBound 003 Directory isDirectory 001 Directory isEqual 003
Directory isIdentical 003 Directory isObject 005 Directory isType 007 Directory length 006
Directory member 002 Directory member 003 Directory new 005 Directory new 006
Directory ref 011 Directory ref 012 Directory refAttributes 003 Directory refValues 003
Directory resize 003 Directory setAttributes 003 Directory setq 010 Directory setq 011
Directory sizeof 005 Directory sort 008 Directory sort 009 Error isIdentical 007
FltVector binaryInsert 004 FltVector binarySearch 005 FltVector cdr 006 FltVector compare 014
FltVector compareEQ 014 FltVector compareGE 014 FltVector compareGT 014 FltVector compareLE 014
FltVector compareLT 014 FltVector compareNE 014 FltVector comparison functions 014 FltVector delete 009
FltVector insert 005 FltVector isAtom 005 FltVector isEqual 013 FltVector isFloatVector 001
FltVector isIdentical 012 FltVector isObject 007 FltVector isType 016 FltVector length 008
FltVector ref 022 FltVector resize 006 FltVector sizeof 014 FltVector sort 013
FltVector uniqueInsert 004 FltVector vectorFill 003 Function compare 013 Function sizeof 013
IntVector binaryInsert 005 IntVector binarySearch 006 IntVector cdr 007 IntVector compare 015
IntVector compareEQ 014 IntVector compareGE 014 IntVector compareGT 014 IntVector compareLE 014
IntVector compareLT 014 IntVector compareNE 014 IntVector comparison functions 014 IntVector delete 010
IntVector insert 006 IntVector inside 005 IntVector isAtom 006 IntVector isEqual 014
IntVector isIdentical 013 IntVector isIntegerVector 001 IntVector isMember 005 IntVector isObject 008
IntVector isType 017 IntVector length 009 IntVector member 005 IntVector ref 023
IntVector resize 007 IntVector sizeof 015 IntVector sort 014 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 compare 008 Lambda compareEQ 008
Lambda compareGE 008 Lambda compareGT 008 Lambda compareLE 008 Lambda compareLT 008
Lambda compareNE 004 Lambda compile 001 Lambda debug 001 Lambda globalBinding 001
Lambda onError 001 Lambda ref 017 Lambda setq 015 List compare 020
List compareEQ 020 List compareGE 020 List compareGT 020 List compareLE 020
List compareLT 020 List compareNE 020 List comparison 020 List count 007
List count 008 List isObject 015 List length 015 List sizeof 022
Matrix binaryInsert 004 Matrix binaryInsert 005 Matrix binarySearch 005 Matrix binarySearch 006
Matrix cdr 007 Matrix cdr 008 Matrix compare 007 Matrix compareEQ 007
Matrix compareGE 007 Matrix compareGT 007 Matrix compareLE 007 Matrix compareLT 007
Matrix compareNE 007 Matrix comparison functions 007 Matrix count 005 Matrix delete 009
Matrix insert 005 Matrix inside 005 Matrix isAtom 005 Matrix isEqual 005
Matrix isIdentical 005 Matrix isMatrix 001 Matrix isMember 005 Matrix isNumberMatrix 001
Matrix isObject 007 Matrix isType 009 Matrix length 008 Matrix makeGaussianMatrix 001
Matrix makeGramMatrix 001 Matrix matrixGaussianEliminate 001 Matrix matrixGaussianSubstitute 001 Matrix member 005
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 binaryInsert 007 NumMatrix binarySearch 007 NumMatrix cdr 011 NumMatrix compare 023
NumMatrix compareEQ 023 NumMatrix compareGE 023 NumMatrix compareGT 023 NumMatrix compareLE 023
NumMatrix compareLT 023 NumMatrix compareNE 023 NumMatrix comparison functions 023 NumMatrix count 009
NumMatrix delete 014 NumMatrix insert 009 NumMatrix inside 009 NumMatrix isAtom 012
NumMatrix isEqual 020 NumMatrix isIdentical 020 NumMatrix isMember 010 NumMatrix isNumberMatrix 001
NumMatrix isObject 014 NumMatrix isType 022 NumMatrix length 017 NumMatrix makeGaussianMatrix 001
NumMatrix makeGramMatrix 001 NumMatrix matrixGaussianEliminate 001 NumMatrix matrixGaussianSubstitute 001 NumMatrix member 009
NumMatrix rank 002 NumMatrix ref 035 NumMatrix resize 011 NumMatrix sizeof 028
NumMatrix uniqueInsert 005 NumMatrix vectorFill 008 NumVector binaryInsert 006 NumVector binarySearch 007
NumVector cdr 008 NumVector compare 016 NumVector compareEQ 014 NumVector compareGE 014
NumVector compareGT 014 NumVector compareLE 014 NumVector compareLT 014 NumVector compareNE 014
NumVector comparison 014 NumVector delete 011 NumVector insert 007 NumVector inside 006
NumVector isAtom 007 NumVector isEqual 015 NumVector isIdentical 014 NumVector isMember 006
NumVector isNumberVector 001 NumVector isObject 009 NumVector isType 018 NumVector length 010
NumVector member 006 NumVector objectToNumVector 001 NumVector ref 024 NumVector resize 008
NumVector sizeof 016 NumVector sort 015 NumVector svmRegression 001 NumVector uniqueInsert 006
NumVector vectorFill 005 Number asin 001 Number atan 001 Number avg 001
Number compare 011 Number cos 001 Number cosh 001 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 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 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 cdr 009 ObjVector compare 017 ObjVector compareEQ 014 ObjVector compareGE 014
ObjVector compareGT 014 ObjVector compareLE 014 ObjVector compareLT 014 ObjVector compareNE 014
ObjVector comparison functions 014 ObjVector delete 012 ObjVector insert 008 ObjVector isAtom 008
ObjVector isEqual 016 ObjVector isIdentical 015 ObjVector isMember 007 ObjVector isObject 010
ObjVector isObjectVector 001 ObjVector isType 019 ObjVector length 011 ObjVector member 007
ObjVector ref 025 ObjVector resize 009 ObjVector sizeof 017 ObjVector sort 016
ObjVector uniqueInsert 007 ObjVector vectorFill 006 ObjectRepository clear 002 ObjectRepository compare 021
ObjectRepository compare 022 ObjectRepository compareEQ 021 ObjectRepository compareEQ 022 ObjectRepository compareGE 021
ObjectRepository compareGE 022 ObjectRepository compareGT 021 ObjectRepository compareGT 022 ObjectRepository compareLE 021
ObjectRepository compareLE 022 ObjectRepository compareLT 021 ObjectRepository compareLT 022 ObjectRepository compareNE 021
ObjectRepository compareNE 022 ObjectRepository comparison 021 ObjectRepository comparison 022 ObjectRepository delete 013
ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository saveImmediate 001 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 isObject 014 Pair length 014 Pair sizeof 021 PcodeVector isAtom 009
PcodeVector isIdentical 016 PcodeVector isObject 011 PcodeVector isPcodeVector 001 PcodeVector length 012
PcodeVector ref 026 PcodeVector sizeof 018 ShortVector binaryInsert 006 ShortVector binarySearch 007
ShortVector cdr 008 ShortVector compare 016 ShortVector compareEQ 015 ShortVector compareGE 015
ShortVector compareGT 015 ShortVector compareLE 015 ShortVector compareLT 015 ShortVector compareNE 015
ShortVector comparison functions 015 ShortVector delete 011 ShortVector insert 007 ShortVector inside 006
ShortVector isAtom 007 ShortVector isEqual 015 ShortVector isIdentical 014 ShortVector isMember 006
ShortVector isObject 009 ShortVector isType 018 ShortVector length 010 ShortVector member 006
ShortVector ref 024 ShortVector resize 008 ShortVector sizeof 016 ShortVector sort 015
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 comparison functions 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 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 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 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 new 002 Symbol send 002 Symbol sizeof 002
Symbol type 002 Vector binaryInsert 002 Vector binaryInsert 003 Vector binarySearch 003
Vector binarySearch 004 Vector cdr 005 Vector cdr 006 Vector compare 006
Vector compareEQ 006 Vector compareGE 006 Vector compareGT 006 Vector compareLE 006
Vector compareLT 006 Vector compareNE 006 Vector comparison functions 006 Vector count 004
Vector delete 007 Vector delete 008 Vector insert 004 Vector inside 004
Vector isAtom 004 Vector isEqual 004 Vector isIdentical 004 Vector isMember 004
Vector isObject 006 Vector isType 008 Vector isVector 001 Vector length 007
Vector member 004 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 sort 011 Vector uniqueInsert 003 Vector vectorFill 001
Void compare 008 Void compareEQ 008 Void compareGE 008 Void compareGT 008
Void compareLE 008 Void compareLT 008 Void compareNE 008 Void comparison functions 008
Void isEqual 006 Void isIdentical 006 Void isType 010 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