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(Structure) fieldsOf(Structure) makeStructure(Structure) defclass(Structure)
objectToStructure(Structure)

 

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 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

How do I contact the AIS Server team?

You can always talk with the AIS at aiserver.sourceforge.net.