轻松学习E-Prime(三十五):自定义记录数据
我们已经知道通过修改Logging页面中的内容来设定在一次刺激中要记录哪些数据,并且我们可以按自己意愿勾选想要记录的数据:
Logging页面中各种数据
但有时候我们可能处于特殊要求,要记录另外一些菜单中没有的数据。
方法就是,通过写代码自己来记录,比如下面的代码:
c.SetAttrib "D-RT", a
这个语句的作用是在数据记录文件中,给当前试次(也就是前面的c,那是一个叫Context的类的一个实例,总之其实你不需要理解,你就这么写就对了)新增加一个记录的项目叫D-RT,记录的东西为a。
这样看显然很不直观,接下来我们通过修改“示例实验3-14”来向您展示具体的作用。
很简单,我们在Inline1后面加这么几句:
c.SetAttrib "Who", "卡希尔将军"
c.SetAttrib "Choose", strHit
c.SetAttrib "ThePoint", "(" + Cstr(ptMouse.x) + "," + Cstr(ptMouse.y) + ")"
if Slide1.ACC=1 then
c.SetAttrib "IsCorrcet", "Yes"
else
c.SetAttrib "IsCorrcet", "No"
end if
示例
(顺带一说,卡希尔将军是我大学的外号)
这样,等到做完实验后,我们来看一下结果文件:
结果的txt文件 结果中的edat2文件
怎样?我们刚才输进去的那些东西都被记录下来了。
发现了吗?我们给记录添加了数据:
Who: 卡希尔将军
Choose: OptionC
ThePoint: (318,293)
IsCorrcet: Yes
这些都是我们通过语句自己添加的。很容易就能看出这其中的关联。(可参考“示例实验3-15”)
这背后的原理接下来我会介绍,但你不需要掌握,随意看看。如果不明白,反正以后只要知道记录数据的时候在inline中输入:
“c.SetAttrib [数据名], [数据内容]”
就够了。
另外要注意的是,数据名和变量名一样,不能以数字开头,不能包含空格、特殊符号、中文字符、日文字符等等。
这背后的原理是这样的。我们给当前正在运行的刺激设置了一个新的属性,其名字是我们自己输入的属性名,并赋值为我们输入的内容。
实际上,SetAttrib的真正作用是设置一个属性。与之相对应的还有GetAttrib用来获取属性的值。我们前面用到过c.GetAttrib,我们用这个读取了List中的值。
虽然SetAttrib算是一个用来自定义记录数据的办法,不过不算是一个非常好的办法。真正的好办法是用VB的文件系统,这样你可以为所欲为地记录数据了。这个我们这个教程不做介绍,因为难度较大。反正,用c.SetAttrib的方法已经完全足够您使用了。有兴趣的话,您可以学学VB,那操作E-Prime必然是游刃有余。
此为开源免费教程。教程所用资源等请访问目录或专题,或者Github页面:
https://www.jianshu.com/p/5bbf1c274370
https://github.com/zkx654321/Learn-E-Prime-Easily