LambdaMOO Takehome Answers

  1. LambdaMOO is
    1. network-accessible and multi-user
    2. programmable and interactive
    3. well-suited to the construction of text-based adventure games
    4. Correct Answer: 4: all of the above

  2. The two major components in the LambdaMOO system are
    1. Correct Answer: 1: server and database
    2. room and exit
    3. integer and string
    4. verb and property

  3. The LambdaMOO server is a program that
    1. manages the network connections
    2. maintains queues of commands and other tasks to be executed
    3. controls all access to the database
    4. Correct Answer: 4: all of the above

  4. Almost every command is parsed by the LambdaMOO server into a call on
    1. an object
    2. a property
    3. Correct Answer: 3: a verb
    4. both a and b are true

  5. Character strings are arbitrarily-long sequences of
    1. floating point numbers
    2. double-quotes
    3. login names
    4. Correct Answer: 4: normal, ASCII printing characters

  6. The three special object numbers used for a variety of purposes: #-1, #-2, and #-3, are usually referred to as
    1. object, verb and property
    2. Correct Answer: 2: $nothing, $ambiguous_match, and $failed_match
    3. @create, @dig, and @describe
    4. integer, string, and list

  7. The error value E_VERBNF stands for
    1. Correct Answer: 1: Verb not found
    2. Variable not found
    3. Too many verb calls
    4. Invalid argument

  8. A list in LambdaMOO is a sequence of
    1. Correct Answer: 1: arbitrary MOO values
    2. strings and nothing else
    3. strings and numbers, but not objects
    4. none of the above

  9. An object exists in LambdaMOO
    1. when you write down its number
    2. Correct Answer: 2: after you call the `create()' function
    3. after you call the recycle() function
    4. none of the above

  10. Every object in LambdaMOO is made up of three kinds of pieces that together define its behavior
    1. rooms, exits, and descriptions
    2. verbs, properties, and flags
    3. Correct Answer: 3: attributes, properties, and verbs
    4. all of the above

  11. The three fundamental attributes to every object in LambdaMOO are
    1. Correct Answer: 1: player flag, parent, and list of children
    2. browser, editor, and applet
    3. client, server, and network
    4. none of the above

  12. The parent/child hierarchy in LambdaMOO is used for
    1. classifying objects into general classes
    2. sharing behavior among all members of a class
    3. implementing recursion
    4. Correct Answer: 4: both a and b are true

  13. The very essence of what is meant by object-oriented programming is captured in the notion of
    1. variables and memory locations
    2. looping iteration
    3. Correct Answer: 3: classes and specialization
    4. all of the above

  14. When an object has a property corresponding to every property in its parent object, this is a kind of
    1. variable binding
    2. method of invocation
    3. Correct Answer: 3: inheritance
    4. property permission

  15. A verb in LambdaMOO is
    1. a named MOO program that is associated with a particular object
    2. like a method in C++
    3. a place to store objects
    4. Correct Answer: 4: both a and b are true

  16. The LambdaMOO server command parser breaks apart commands of the form
    1. verb
    2. verb direct-object
    3. verb direct-object preposition indirect-object
    4. Correct Answer: 4: all of the above

  17. After the LambdaMOO command parser has identified a verb string, a preposition string, and direct- and indirect-object strings and objects. It then looks at each of the verbs defined on each of the following four objects, in order:
    1. Correct Answer: 1: player, room, direct-object, indirect-object
    2. player, exit, client, server
    3. over, under, sideways, down
    4. player, direct-object, indirect-object, children of player

  18. The ancient precursors to MUDs were
    1. Oregon Trail and Amazon Trail
    2. Asteroids and Maelstrom
    3. Pong and Donkey Kong
    4. Correct Answer: 4: Adventure and Zork

  19. The expression 13 + (x = 17) in the LambdaMOO language
    1. returns true
    2. Correct Answer: 2: changes the value of `x' to be 17 and returns 30
    3. changes the value of `x' to be 17 and returns 47
    4. none of the above

  20. The x (execute) bit on a LambdaMOO verb determines
    1. whether or not it exists
    2. whether or not it exits
    3. Correct Answer: 3: whether or not the verb can be invoked from within a MOO program (as opposed to from the command line)
    4. all of the above

  21. Integers and floating-point numbers in LambdaMOO
    1. are indistinguishable from each other
    2. are used interchangably
    3. Correct Answer: 3: cannot be mixed because LambdaMOO does not automatically coerce integers into floating-point numbers
    4. form a new numeric type when they are mixed

  22. When the code for a LambdaMOO verb begins execution, the following built-in variables will have the indicated values:
    1. player is who typed the command
    2. this is the object on which the verb was found
    3. $g is where local variables are stored
    4. Correct Answer: 4: both a and b are true

  23. The following conditional expression in LambdaMOO
    expression-1 ? expression-2 | expression-3
    is evaluated as
    1. Correct Answer: 1: if expression-1 is true, return expression-2 otherwise return expression-3
    2. if expression-3 is true, return either expression-1 or expression-2
    3. guess between expression-1 and expression-2
    4. none of the above

  24. In following indexing expression in LambdaMOO extracts a specified element from a list or string,
    expression-1[expression-2]
    but if expression-1 is not a list or string, or expression-2 is not an integer
    1. an integer is returned
    2. a floating point number is returned
    3. an object is returned
    4. Correct Answer: 4: an error is returned

  25. The range expression in LambdaMOO extracts a specified subsequence from a list or string. What does the following expression return:
    "foobar"[2..$]
    1. Correct Answer: 1: "oobar"
    2. "foob"
    3. "ooba"
    4. an error is returned

  26. The list membership expression in LambdaMOO tests whether or not a given MOO value is an element of a given list and, if so, with what index. What is the value returned by the following expression:
    2 in {5, 8, 2, 3}
    1. 5
    2. 8
    3. 2
    4. Correct Answer: 4: 3

  27. Assume that the variable 'a' has the value {2, 3, 4} and that 'b' has the value {"Foo", "Bar"}. The 'splicing' operator is '@'. What is the result of the expression: {1, @a, 5}
    1. {1, @a, 5}
    2. {1, {2, 3, 4}, 5}
    3. Correct Answer: 3: {1, 2, 3, 4, 5}
    4. both b and c are true

  28. The built-in LambdaMOO function, tostr (value, ...)
    1. Throws value to the caller
    2. Passes value to a toasting function
    3. Correct Answer: 3: Converts all of the given MOO values into strings and returns the concatenation of the results.
    4. None of the above

  29. An assignment expression that looks like this:
    {target, ...} = expr
    is called a
    1. a targeting expression
    2. an expr expression
    3. Correct Answer: 3: a scattering assignment
    4. none of the above

  30. The `location' and `contents' properties of a LambdaMOO object describe
    1. the wizard and programmer bits
    2. the name and owner of an object
    3. the r (read) and w (write) bits
    4. Correct Answer: 4: a hierarchy of object containment