Before attempting to write E-Basic script, it is useful to understand how information is managed within E-Basic and E-Prime 3.0. Within E-Basic, data and routines acting on that data may be encapsulated into units called “objects”. For example, at the trial level, the List object is an encapsulation of the trial level data (e.g., stimuli, independent variables, etc.) and the routines applied to that data (e.g., TrialProc).
In the image below, each line in the TrialList object lists a specific exemplar. The Stimulus and CorrectAnswer attributes contain the trial level data necessary to present the stimulus and score the input collected from the participant. The Procedure attribute indicates which routine is to be associated with the specific piece of data. In this case, the TrialProc Procedure, which calls individual objects to present a fixation, stimulus, and feedback, is applied to the specific stimulus (i.e., X or Y).
Thus, when the experiment is executed, a specific exemplar is selected from the TrialList object. An exemplar from a List is an entire row (or level). In the current example, a chosen exemplar includes the data to present the stimulus (Stimulus = either X or Y) and score the response (CorrectAnswer = 1 or 2), as well as the Procedure using that data (TrialProc).
The TrialList object calls the TrialProc object (containing the Fixation, Stimulus and Feedback objects) using the Stimulus and CorrectAnswer information from the chosen exemplar. In this way, the trial level information encapsulated in the TrialList object is used to run a series of trials. Likewise, the block level data and routines are encapsulated in the BlockList and BlockProc objects.