Example Number addMethod 014

 

 

Description

This example defines a method named doubleThis that is invoked when the Number type receives an double message. The doubleThis method doubles its numeric argument.

 

Details

First Define the doubleThis method:

(defun doubleThis (b) (* b 2) ) Returns: #<Lambda 123456>

Install the doubleThis method and the message named double in the Number Methods Dictionary.

(addMethod Number: double: doubleThis) Returns: #<Dictionary 123456>

To invoke the Lambda that responds to the double message, issue the following statement:

(send double: 1.1) Returns: 2.2

Alternatively, the Lambda may be invoked using the following syntax:

(double: 1.1) Returns: 2.2

 

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.

Number 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
BitVector setq 024 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 Complex * 002 Complex / 002 Complex compare 021
Complex cos 002 Complex exp 002 Complex expt 002 Complex log 002
Complex mod 002 Complex sqrt 002 Complex tan 002 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 date 001
Date day 001 Date days360 001 Date defmethod 015 Date getTickCount 001
Date hour 001 Date isType 014 Date julian 001 Date methodsOf 015
Date minute 001 Date month 001 Date now 001 Date second 001
Date send 013 Date setq 019 Date sizeof 012 Date time 001
Date time 002 Date today 001 Date year 001 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 FltVector setq 019
Function addMethod 017 Function addMethod 018 Function defmethod 016 Function isType 015
Function methodsOf 016 Function send 014 Function sizeof 013 IntVector addMethod 020
IntVector defmethod 018 IntVector delete 010 IntVector insert 006 IntVector methodsOf 018
IntVector send 016 IntVector setq 020 Integer binaryNand 001 Integer binaryNor 001
Integer binaryNxor 001 Integer bitwiseAnd 001 Integer bitwiseNand 001 Integer bitwiseNor 001
Integer bitwiseNxor 001 Integer bitwiseOr 001 Integer bitwiseShiftLeft 001 Integer bitwiseShiftRight 001
Integer bitwiseXor 001 Integer fact 001 Integer isInteger 001 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
NumVector setq 021 NumVector svmRegression 001 NumVector vectorBinaryInnerProduct 001 NumVector vectorBipolarInnerProduct 001
NumVector vectorCosineInnerProduct 001 NumVector vectorCubeInnerProduct 001 NumVector vectorExpInnerProduct 001 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 * 001 Number + 001 Number - 001 Number / 001
Number abs 001 Number add1 001 Number addMethod 014 Number addi 001
Number asin 001 Number atan 001 Number avg 001 Number compare 011
Number compareEQ 011 Number compareGE 011 Number compareGT 011 Number compareLE 011
Number compareLT 011 Number compareNE 011 Number comparison 010 Number cos 001
Number cosh 001 Number defmethod 014 Number deg 001 Number divi 001
Number exp 001 Number expt 001 Number fact 001 Number floor 001
Number fraction 001 Number isEqual 009 Number isEven 001 Number isExact 001
Number isIdentical 009 Number isInexact 001 Number isMoney 001 Number isNegative 001
Number isNull 001 Number isNumber 001 Number isOdd 001 Number isPositive 001
Number isType 013 Number isZero 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 muli 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 ref 019 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 sub1 001
Number subi 001 Number sumsqr 001 Number tan 001 Number tanh 001
Number type 013 Number var 001 Number varp 001 ObjVector addMethod 022
ObjVector delete 012 ObjVector insert 008 ObjVector setq 022 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 PcodeVector setq 023 ShortVector addMethod 021 ShortVector defmethod 019
ShortVector delete 011 ShortVector insert 007 ShortVector methodsOf 019 ShortVector send 017
ShortVector setq 021 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