BART E-Prime 2.0 Missing PumpNPopList Nested List

352 views
Skip to first unread message

Raquel Cowell

unread,
Nov 18, 2013, 3:19:34 PM11/18/13
to e-p...@googlegroups.com
I recently downloaded an E-Prime 2.0 version of the BART from  http://psychology.msu.edu/lcdlab/programs/.

For the most part, the .es2 file is great, but there seems to be a missing nested list from the TrialList. In the TrialList, there are the following 4 columns: Weight; Nested; Procedure; PayPerPump.

Within the Nested column is the following text: "PumpNPopList". However, the list is never detailed anywhere and the icon placeholder is a "?"

I want to replace the list with the correct information, but I am unsure of what exactly should be included.

Any help or insight would be greatly appreciated. Thanks!

David McFarlane

unread,
Nov 19, 2013, 10:49:43 AM11/19/13
to e-p...@googlegroups.com
I already replied to Raquel off the list, but for the record in case
anyone else stumbles upon this...

Wow, I did the initial development on that program (if you open the
Experiment object you will see my name there) -- a great project
where I got to expand my E-Prime skills!

PumpNPopList appears as a question mark in the Structure because it
is generated at run time by the inline code in TrialsInitScript prior
to running TrialList (which then calls upon the nested
PumpNPopList). Yes, really! It's an unusual and challenging move,
but I did it that way in order to programmaticaly enforce some
specific properties on PumpNPopList, and you will find some
explanation for that in the comments in TrialsInitScript.

If you prefer to replace PumpNPopList with a more normal (and
non-dynamic) nested List, then you would want a PumpNPopList with a
"PumpNPop" attribute (but of course, you could figure that out from
the code in TrialsInitScript -- see the PumpNPopList.AddAttrib
commands). Note that nList is just a temporary auxiliary List used
for populating PumpNPopList and is not used anywhere in the
Structure, if you make your own PumpNPopList then you may just ignore
(or delete) nList. Do be aware that we used inline code to construct
PumpNPopList in order to enforce some desirable properties, so you
may want to consider that as you design your replacement PumpNPopList.

BTW, I designed this program at a time when I was exploring the use
of Lists as a construct for programmed loops, which accounts for my
peculiar use of a StepList within the TrialProc. If I were to
program this today, I might instead use an ordinary Label and Goto to
do the "step" loop (and then I would have to do the step logging in
inline code instead of having StepList take care of that
automatically). (I also now use the term "code" where I used to use
"script", but that is another matter.)

-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (https://twitter.com/EPrimeMaster )
Reply all
Reply to author
Forward
0 new messages