Difference between revisions of "Dispatch function"

From CS 61A Wiki
Jump to: navigation, search
[checked revision][checked revision]
({{Sufficient-class}})
m (reword)
Line 1: Line 1:
 
{{Sufficient-class}}
 
{{Sufficient-class}}
A '''dispatch function''' is a [[function]] that takes in a message and returns a relevant value.
+
A '''dispatch function''' is a [[function]] that takes in a message and returns a value accordingly.
  
 
The body of a dispatch function is always the same:
 
The body of a dispatch function is always the same:

Revision as of 20:00, 2 June 2014

A dispatch function is a function that takes in a message and returns a value accordingly.

The body of a dispatch function is always the same:

  • one conditional statement with several clauses
  • headers perform equality tests on the message

Example

def rational(x, y):
    """
    >>> rat = rational(1, 3)
    >>> rat('numer')
    1
    >>> rat('denom')
    3
    """
    def dispatch(field):
        if field == 'numer':
            return x
        elif field == 'denom':
            return y
        else:
            return 'invalid field'
    return dispatch

Sources