Example NumVector defmethod 019

 

 

Description

This example uses the added method IncAll to respond to the message IncAll which will increment each value in a Number Vector.

 

Details

Define a method Increment which maps the function add1 to increment all values in the vector.

(defmethod IntVector: IncAll (s) (map add1 s)) Returns: #<Dictionary 123456>

Define a Vector that contains some float values.

(define V #(num| 11.433 -2.6 )) Returns: #<NumVector 123456>

Send the message IncAll to increment all the values in the Vector by 1.

(setq Y (send IncAll: V)) Returns: #<NumVector 234567>

Displays the new Vector with the incremented values.

(display #<NumVector 234567>) Returns: #(num| 12.433 -1.6 )

The method can be invoked simply by name:

(setq Y (IncAll: V)) Returns: #<NumVector 234567>

Notes and Hints

To view the entry in the methods Dictionary created by the defmethod 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 NumVector : ))

To access the nth method name:

(methodsOf NumVector : )[n 0]

 

Related Examples

Here are examples of the defmethod function at work.

BitVector defmethod 020 Boolean defmethod 012 Character defmethod 013 Date defmethod 015
FltVector defmethod 017 Function defmethod 016 IntVector defmethod 018 List defmethod 022
NumVector defmethod 019 Number defmethod 014 ObjectRepository defmethod 023 Pair defmethod 021
ShortVector defmethod 019 Structure defmethod 004 Structure defmethod 005 Vector defmethod 008
Void defmethod 011

 

Function Links

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

defmethod

Here are a number of links to other related functions.

addMethod(#void) send(#void) methodsOf(#void)

 

Argument Types

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

NumVector Symbol Dictionary

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

BitVector addMethod 023 BitVector bitToNumberVector 001 BitVector defmethod 020 BitVector inside 007
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 defMethod 007
Directory delete 006 Directory insert 003 Directory inside 003 Directory isBound 003
Directory isDirectory 001 Directory isInside 003 Directory isMember 003 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 send 005 Directory setAttributes 003 Directory setq 010
Directory setq 011 Directory sort 008 Directory sort 009 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 append 008 NumVector apply 007 NumVector binaryInsert 006 NumVector binarySearch 007
NumVector bitToNumberVector 002 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 copy 008 NumVector defmethod 019
NumVector delete 011 NumVector insert 007 NumVector inside 006 NumVector isAtom 007
NumVector isEqual 015 NumVector isIdentical 014 NumVector isNumberVector 001 NumVector isObject 009
NumVector isType 018 NumVector length 010 NumVector map 007 NumVector mapc 007
NumVector member 006 NumVector methodsOf 019 NumVector new 011 NumVector objectToNumVector 001
NumVector ref 024 NumVector remove 006 NumVector resize 008 NumVector reverse 005
NumVector send 017 NumVector setCdr 008 NumVector setLastCdr 008 NumVector setq 021
NumVector sizeof 016 NumVector sort 015 NumVector svmRegression 001 NumVector type 018
NumVector uniqueInsert 006 NumVector vectorBinaryInnerProduct 001 NumVector vectorBipolarInnerProduct 001 NumVector vectorCosineInnerProduct 001
NumVector vectorCubeInnerProduct 001 NumVector vectorExpInnerProduct 001 NumVector vectorFill 005 NumVector vectorInnerProduct 001
NumVector vectorLogInnerProduct 001 NumVector vectorQuartInnerProduct 001 NumVector vectorQuintInnerProduct 001 NumVector vectorSigmoidInnerProduct 001
NumVector vectorSineInnerProduct 001 NumVector vectorSquareInnerProduct 001 NumVector vectorTanInnerProduct 001 NumVector vectorTanhInnerProduct 001
Number addMethod 014 Number defmethod 014 Number methodsOf 014 Number send 012
ObjVector addMethod 022 ObjVector cdr 009 ObjVector delete 012 ObjVector insert 008
ObjVector sort 016 ObjectRepository addMethod 026 ObjectRepository defmethod 023 ObjectRepository delete 013
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