Example Directory addMethod 006

 

 

Description

This example uses the added method Increment which will increment a specific field in a Directory.

 

Details

Define a method Increment which adds the defined value to a field in the Directory.

(addMethod Directory: Increment: (lambda (s n ) (add1 s[n]))) Returns: #<Dictionary 123456>

Define a Directory that contains scores for a list of students.

(define Score #{dir| Sam: 1 Sue: 1 Sylvia: 5}) Returns: #<Directory 234567>

Invoke the method named Increment

(send Increment: Score 2) Returns: 6

The method can be invoked simply by name:

(Increment: Score 2) Returns: 6

Notes and Hints

To view the entry in the methods Dictionary created by the addMethod function, you can use the method name to access the directory entry by

#<Dictionary 123456>[methodName:] or

To determine the number of assigned methods:

(length (methodsOf Directory: ))

To access the nth method name:

(methodsOf Directory: )[n 0]

 

Related Examples

Here are examples of the addMethod function at work.

BitVector addMethod 023 Boolean addMethod 011 Boolean addMethod 012 Boolean send 010
Brick addMethod 008 Brick send 027 Character addMethod 013 CpxVector addMethod 028
Date addMethod 015 Date addMethod 016 Dictionary addMethod 005 Directory addMethod 006
FltVector addMethod 019 Function addMethod 017 Function addMethod 018 IntVector addMethod 020
List addMethod 025 List send 020 Matrix addMethod 008 NumMatrix addMethod 027
NumMatrix defmethod 024 NumVector addMethod 021 Number addMethod 014 ObjVector addMethod 022
ObjectRepository addMethod 026 ObjectRepository send 026 Pair addMethod 024 ShortVector addMethod 021
String addMethod 001 Structure addMethod 003 Structure addMethod 004 Symbol addMethod 002
Vector addMethod 007 Void addMethod 009 Void addMethod 010 Void defmethod 010

 

Function Links

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

addMethod

Here are a number of links to other related functions.

defmethod(#void) send(#void) methodsOf(#void)

 

Argument Types

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

Directory Symbol Dictionary

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

BitVector addMethod 023 BitVector defmethod 020 BitVector methodsOf 021 BitVector send 018
Boolean addMethod 011 Boolean addMethod 012 Boolean defmethod 012 Boolean methodsOf 012
Boolean send 010 Brick addMethod 008 Brick defmethod 025 Brick methodsOf 024
Brick send 027 ByteVector isCharAlphabetic 003 ByteVector isCharAlphanumeric 003 ByteVector isCharLowercase 003
ByteVector isCharName 003 ByteVector isCharNumeric 003 ByteVector isCharUppercase 003 ByteVector isCharWhitespace 003
Character addMethod 013 Character defmethod 013 Character methodsOf 013 Character send 011
Context debug 001 Context getGlobalValue 001 Context getSymbolTable 001 Context globalBinding 001
CpxVector addMethod 028 CpxVector send 028 Date addMethod 015 Date addMethod 016
Date defmethod 015 Date methodsOf 015 Date send 013 Dictionary addMethod 005
Dictionary binarySearch 002 Dictionary cdr 003 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 copy 002 Dictionary count 002
Dictionary defMethod 006 Dictionary delete 003 Dictionary delete 004 Dictionary insert 002
Dictionary inside 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 makeDictionary 001
Dictionary map 002 Dictionary mapc 002 Dictionary member 002 Dictionary methodsOf 007
Dictionary new 004 Dictionary objectToDictionary 001 Dictionary objectToDictionary 002 Dictionary objectToDictionary 003
Dictionary objectToDictionary 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 setCdr 001 Dictionary setCdr 002
Dictionary setq 007 Dictionary setq 008 Dictionary setq 009 Dictionary sizeof 004
Dictionary sort 003 Dictionary sort 004 Dictionary sort 005 Dictionary type 007
Directory addMethod 006 Directory cdr 004 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 copy 003 Directory count 003
Directory defMethod 007 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 isInside 003 Directory isMember 003
Directory isObject 005 Directory isType 007 Directory length 006 Directory map 003
Directory mapc 003 Directory member 002 Directory member 003 Directory methodsOf 008
Directory new 005 Directory new 006 Directory objectToDirectory 001 Directory objectToDirectory 002
Directory objectToDirectory 003 Directory objectToDirectory 004 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 setCdr 003
Directory setq 010 Directory setq 011 Directory sizeof 005 Directory sort 007
Directory sort 008 Directory sort 009 Directory type 008 Directory vectorDelete 001
FltVector addMethod 019 FltVector defmethod 017 FltVector delete 009 FltVector insert 005
FltVector methodsOf 017 FltVector send 015 Function addMethod 017 Function addMethod 018
Function defmethod 016 Function methodsOf 016 Function send 014 IntVector addMethod 020
IntVector defmethod 018 IntVector delete 010 IntVector insert 006 IntVector methodsOf 018
IntVector send 016 Lambda compareLE 008 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 send 008 Lambda send 009
List addMethod 025 List defmethod 022 List methodsOf 022 List send 020
Matrix addMethod 008 Matrix defMethod 009 Matrix delete 009 Matrix insert 005
Matrix methodsOf 010 Matrix send 008 NumMatrix addMethod 027 NumMatrix defmethod 024
NumMatrix delete 014 NumMatrix insert 009 NumMatrix methodsOf 024 NumMatrix send 027
NumVector addMethod 021 NumVector defmethod 019 NumVector delete 011 NumVector insert 007
NumVector methodsOf 019 NumVector send 017 Number addMethod 014 Number defmethod 014
Number methodsOf 014 Number send 012 ObjVector addMethod 022 ObjVector delete 012
ObjVector insert 008 ObjectRepository addMethod 026 ObjectRepository defmethod 023 ObjectRepository delete 013
ObjectRepository loadRepository 001 ObjectRepository methodsOf 023 ObjectRepository send 026 Pair addMethod 024
Pair defmethod 021 Pair methodsOf 021 Pair send 019 PcodeVector methodsOf 020
ShortVector addMethod 021 ShortVector defmethod 019 ShortVector delete 011 ShortVector insert 007
ShortVector methodsOf 019 ShortVector send 017 String addMethod 001 String defMethod 001
String defMethod 002 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 methodsOf 001 String methodsOf 002 String methodsOf 003
String parse 001 String send 001 String setq 001 String sizeof 001
String string 001 String string 002 String string 003 String type 001
Structure addMethod 003 Structure addMethod 004 Structure binaryInsert 001 Structure binarySearch 001
Structure defmethod 004 Structure defmethod 005 Structure delete 001 Structure delete 002
Structure insert 001 Structure inside 001 Structure isBound 001 Structure isInside 001
Structure isMember 001 Structure member 001 Structure methodsOf 005 Structure new 003
Structure ref 004 Structure ref 006 Structure refAttributes 001 Structure refValues 001
Structure remove 001 Structure send 003 Structure setAttributes 001 Structure setq 003
Structure setq 004 Structure setq 005 Structure setq 006 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 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 defmethod 008 Vector delete 007
Vector delete 008 Vector insert 004 Vector methodsOf 009 Vector send 006
Vector setAttributes 004 Vector setAttributes 005 Void addMethod 009 Void addMethod 010
Void defmethod 010 Void defmethod 011 Void methodsOf 011 Void send 009

Analytic Information Server (AIS)

AIS Component Systems

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