String as array name?

David McFarlane mcfarla9 at msu.edu
Fri Feb 7 17:11:17 UTC 2014


Um, I am missing something here.  Why not use an ordinary 
multiple-dimension array to hold all the answers to all the questions, e.g.,

     Const  nQuestions as Integer = 4
     Const  nAnswersMax as Integer = 10
     Dim Answers( nQuestions, nAnswersMax )

and then just use an array index to get the answers for the selected 
question?  If you need to get fancier, you might use a User Defined 
Type (akin to Structures or Records in other programming languages, 
look it up in the E-Basic Help facility), perhaps using an array of your UDTs.

To answer your initial question, if you study the Rte, RteCollection, 
and related topics in the E-Basic Help, you just might devise a way 
to manage *object* variables with arbitrary names from strings, but 
still not manage ordinary variables.  Even then, I think it generally 
best to adapt techniques according to the tools at hand, which brings 
me back to ordinary multiple-dimension arrays in VBA/E-Basic.

-----
David McFarlane
E-Prime training 
online:  http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter:  @EPrimeMaster (https://twitter.com/EPrimeMaster )

/----
Stock reminder:  1) I do not work for PST.  2) PST's trained staff 
take any and all questions at https://support.pstnet.com , and they 
strive to respond to all requests in 24-48 hours, so make full use of 
it.  3) In addition, PST offers several instructional videos on their 
YouTube channel (http://www.youtube.com/user/PSTNET ).  4) If you do 
get an answer from PST staff, please extend the courtesy of posting 
their reply back here for the sake of others.
\----


At 2/7/2014 11:02 AM Friday, Kerwin Olfers wrote:
>I was wondering if there is a way to take a string from an attribute 
>and use it as a variable/array name in inline?
>
>My situation:
>
>Participants are prompted with a questions and asked to type their 
>answer (which is displayed using the echo functions).
>There are multiple correct answers per question. I know in Eprime 
>2.0.10 and up you can simple have the multiple answer 
><http://www.pstnet.com/support/kb.asp?TopicID=1400>comma separated 
>in an attribute list, which would solve all my problems.
>However we're running 2.0.8 with little hope of updating in the near future.
>
>The solution so far is to store the multiple answers for each 
>question in separate arrays.
>
>e.g.
>question1(1) = "dog"
>question1(2) = "labrador"
>question2(1) = "fish"
>question2(2)=  "tuna"
>
>Then after the question slide, I use an inline to run through the 
>array to check if the answer is correct.
>However, since there is a different array for each question, I need 
>a way to select the proper array, which hopefully doesn't involve me 
>putting a whole list of 'if' statements.
>
>Something like:
>
>For Counter = 1 to Ubound(c.getAttrib("arrayName"))
>    If c.getAttrib("arrayName")(Counter) = Stimulus.RESP then
>       Stimulus.ACC = 1
>    end if
>next
>
>.. although the above obviously doesn't work in the current form. 
>Does anyone know of a way to do this, i.e. use strings stored in 
>attributes as variable names in inline (a bit like an eval function)?
>
>Thanks!

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+unsubscribe at googlegroups.com.
To post to this group, send email to e-prime at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/e-prime/52f513b9.210c320a.7cd0.2f26SMTPIN_ADDED_MISSING%40gmr-mx.google.com.
For more options, visit https://groups.google.com/groups/opt_out.



More information about the Eprime mailing list