Example Boolean addMethod 011

 

 

Description

This example defines a method named English that is invoked when the Boolean type receives an toEnglish message. The English method converts the Boolean Value, true, to the English word "Yes" and converts the Boolean value, false, to the English word "No".

 

Details

First Define the English method:

(defun English (b) (if b then "Yes" else "No") ) Returns: #<Lambda 123456>

Install the English method and the message named toEnglish in the Boolean Methods Dictionary.

(addMethod Boolean: toEnglish: English) Returns: #<Dictionary 123456>

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

(send toEnglish: true) Returns: Yes

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

(toEnglish: true) Returns: Yes

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 Boolean: ))

To access the nth method name:

(methodsOf Boolean: )[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(Boolean) send(Boolean) methodsOf(Boolean)

 

Argument Types

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

Boolean Symbol Dictionary

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

BitVector addMethod 023 BitVector compareEQ 014 BitVector compareGE 014 BitVector compareGT 014
BitVector compareLE 014 BitVector compareLT 014 BitVector compareNE 014 BitVector comparison 014
BitVector defmethod 020 BitVector inside 007 BitVector isAtom 010 BitVector isEqual 017
BitVector isIdentical 017 BitVector isObject 012 BitVector isType 020 BitVector member 008
BitVector methodsOf 021 BitVector send 018 BitVector sort 017 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 defmethod 012 Boolean isBoolean 001 Boolean isEqual 007 Boolean isIdentical 007
Boolean isType 011 Boolean methodsOf 012 Boolean ref 018 Boolean send 010
Boolean setq 016 Boolean sizeof 009 Boolean type 011 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 ByteVector isObject 013 Character addMethod 013
Character ccompareEQ 001 Character ccompareGE 001 Character ccompareGT 001 Character ccompareLE 001
Character ccompareLT 001 Character ccompareNE 001 Character compare 010 Character defmethod 013
Character isCharacter 001 Character methodsOf 013 Character send 011 Complex compare 021
Complex isComplex 001 Context clear 001 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 compare 012 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 compareEQ 005 Directory compareGE 005 Directory compareGT 005 Directory compareLE 005
Directory compareLT 005 Directory compareNE 005 Directory comparison functions 005 Directory defMethod 007
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 member 002 Directory member 003 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 Error isIdentical 007 FltVector addMethod 019 FltVector binarySearch 005
FltVector compareEQ 014 FltVector compareGE 014 FltVector compareGT 014 FltVector compareLE 014
FltVector compareLT 014 FltVector compareNE 014 FltVector comparison functions 014 FltVector defmethod 017
FltVector delete 009 FltVector insert 005 FltVector isAtom 005 FltVector isEqual 013
FltVector isIdentical 012 FltVector isObject 007 FltVector isType 016 FltVector methodsOf 017
FltVector send 015 FltVector sort 013 Function addMethod 017 Function addMethod 018
Function compare 013 Function defmethod 016 Function methodsOf 016 Function send 014
IntVector addMethod 020 IntVector binarySearch 006 IntVector compareEQ 014 IntVector compareGE 014
IntVector compareGT 014 IntVector compareLE 014 IntVector compareLT 014 IntVector compareNE 014
IntVector comparison functions 014 IntVector defmethod 018 IntVector delete 010 IntVector insert 006
IntVector inside 005 IntVector isAtom 006 IntVector isEqual 014 IntVector isIdentical 013
IntVector isObject 008 IntVector isType 017 IntVector member 005 IntVector methodsOf 018
IntVector send 016 IntVector sort 014 Integer icompareGE 001 Integer icompareGT 001
Integer icompareLE 001 Integer icompareLT 001 Integer icompareNE 001 List addMethod 025
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 defmethod 022 List isObject 015 List methodsOf 022 List send 020
Matrix addMethod 008 Matrix binarySearch 005 Matrix binarySearch 006 Matrix compareEQ 007
Matrix compareGE 007 Matrix compareGT 007 Matrix compareLE 007 Matrix compareLT 007
Matrix compareNE 007 Matrix comparison functions 007 Matrix defMethod 009 Matrix delete 009
Matrix insert 005 Matrix inside 005 Matrix isAtom 005 Matrix isEqual 005
Matrix isIdentical 005 Matrix isObject 007 Matrix isType 009 Matrix member 005
Matrix methodsOf 010 Matrix send 008 NumMatrix addMethod 027 NumMatrix binarySearch 007
NumMatrix compareEQ 023 NumMatrix compareGE 023 NumMatrix compareGT 023 NumMatrix compareLE 023
NumMatrix compareLT 023 NumMatrix compareNE 023 NumMatrix comparison functions 023 NumMatrix defmethod 024
NumMatrix delete 014 NumMatrix insert 009 NumMatrix inside 009 NumMatrix isAtom 012
NumMatrix isEqual 020 NumMatrix isIdentical 020 NumMatrix isObject 014 NumMatrix isType 022
NumMatrix member 009 NumMatrix methodsOf 024 NumMatrix send 027 NumVector addMethod 021
NumVector binarySearch 007 NumVector compareEQ 014 NumVector compareGE 014 NumVector compareGT 014
NumVector compareLE 014 NumVector compareLT 014 NumVector compareNE 014 NumVector comparison 014
NumVector defmethod 019 NumVector delete 011 NumVector insert 007 NumVector inside 006
NumVector isAtom 007 NumVector isEqual 015 NumVector isIdentical 014 NumVector isObject 009
NumVector isType 018 NumVector member 006 NumVector methodsOf 019 NumVector send 017
NumVector sort 015 Number addMethod 014 Number compare 011 Number defmethod 014
Number methodsOf 014 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 send 012 ObjVector addMethod 022
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 isObject 010 ObjVector isType 019 ObjVector member 007 ObjVector sort 016
ObjectRepository addMethod 026 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 defmethod 023 ObjectRepository delete 013
ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository methodsOf 023 ObjectRepository saveImmediate 001
ObjectRepository send 026 Pair addMethod 024 Pair defmethod 021 Pair isObject 014
Pair methodsOf 021 Pair send 019 PcodeVector isAtom 009 PcodeVector isIdentical 016
PcodeVector isObject 011 PcodeVector methodsOf 020 ShortVector addMethod 021 ShortVector binarySearch 007
ShortVector compareEQ 015 ShortVector compareGE 015 ShortVector compareGT 015 ShortVector compareLE 015
ShortVector compareLT 015 ShortVector compareNE 015 ShortVector comparison functions 015 ShortVector defmethod 019
ShortVector delete 011 ShortVector insert 007 ShortVector inside 006 ShortVector isAtom 007
ShortVector isEqual 015 ShortVector isIdentical 014 ShortVector isObject 009 ShortVector isType 018
ShortVector member 006 ShortVector methodsOf 019 ShortVector send 017 ShortVector sort 015
String addMethod 001 String comparison functions 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 compareEQ 003
Structure comparison functions 003 Structure defmethod 004 Structure defmethod 005 Structure defstruct 001
Structure defstruct 002 Structure delete 001 Structure delete 002 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 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 binarySearch 003
Vector binarySearch 004 Vector compareEQ 006 Vector compareGE 006 Vector compareGT 006
Vector compareLE 006 Vector compareLT 006 Vector compareNE 006 Vector comparison functions 006
Vector defmethod 008 Vector delete 007 Vector delete 008 Vector insert 004
Vector inside 004 Vector isAtom 004 Vector isEqual 004 Vector isIdentical 004
Vector isObject 006 Vector isType 008 Vector member 004 Vector methodsOf 009
Vector send 006 Vector setAttributes 004 Vector setAttributes 005 Vector sort 011
Void addMethod 009 Void addMethod 010 Void compareEQ 008 Void compareGE 008
Void compareGT 008 Void compareLE 008 Void compareLT 008 Void compareNE 008
Void comparison functions 008 Void defmethod 010 Void defmethod 011 Void isEqual 006
Void isIdentical 006 Void isType 010 Void methodsOf 011 Void send 009

How do I contact the AIS Server team?

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