---
menuTitle:
title: Input
weight: 6
---
Following an `` having set the ``'s
`last_instruction_effect` to
`(MUST_PROMPT_COMMAND )`,
`(MUST_PROMPT_INTEGER )`,
`(MUST_PROMPT_FLOAT )`,
`(MUST_PROMPT_STRING )`,
or `(MUST_INPUT_CHOICE)`, it is necessary
for the user to provide an input prior to further ``s being
executed. The information provided in the `` is expected
to be sufficient for the interpreter to ensure the user input is valid.
Providing invalid inputs to the `` will result in undefined (and most
likely problematic) behaviors.
Thus, the `` should expect to accept the following types of inputs:
### An `{Integer}` prompt answer
This follows a
`(MUST_PROMPT_INTEGER )`
``.
* Interpret the ``'s `memorized_target` as a
`` address.
* Update the `` pointed to by this address in the ``'s memory
so that it becomes an `` corresponding to the user's input.
* Set the ``'s `last_instruction_effect` to `(MUST_CONTINUE)`.
* Proceed with the execution.
### A `{Float}` prompt answer
This follows a
`(MUST_PROMPT_FLOAT )`
``.
* Interpret the ``'s `memorized_target` as a
`` address.
* Update the `` pointed to by this address in the ``'s memory
so that it becomes an `` corresponding to the user's input.
* Set the ``'s `last_instruction_effect` to `(MUST_CONTINUE)`.
* Proceed with the execution.
### A `{String}` prompt answer
This follows a
`(MUST_PROMPT_STRING )`
``.
* Interpret the ``'s `memorized_target` as a
`` address.
* Update the `` pointed to by this address in the ``'s memory
so that it becomes an `` corresponding to the user's input.
* Set the ``'s `last_instruction_effect` to `(MUST_CONTINUE)`.
* Proceed with the execution.
### A `{{String} List}` prompt answer
This follows a
`(MUST_PROMPT_COMMAND )` ``.
* Interpret the ``'s `memorized_target` as a
`` address.
* Convert the user input to a ``: For each element of value
`{s: String}` and index `{i: Integer}`, the `` contains
`{{c_i: String} -> }` where `c_i` is a `{String}`
corresponding to `i` and `c_s` a `` corresponding to `s`.
* Update the `` pointed to by this address in the ``'s memory
so that it becomes the aforementioned ``.
* Set the ``'s `last_instruction_effect` to `(MUST_CONTINUE)`.
* Proceed with the execution.
### An `{Integer}` choice answer
This follows a `(MUST_INPUT_CHOICE)` ``.
* Set the ``'s `last_choice_index` to the input `{Integer}`.
* Empty the ``'s `available_options` list.
* Set the ``'s `last_instruction_effect` to `(MUST_CONTINUE)`.
* Proceed with the execution.