假设我的脚本包含一个值为"foo"
的变量。如何在不事先知道值可能为{foo: 3}
的情况下创建值为"foo"
的记录?
答案 0 :(得分:3)
我认为您的问题还有另一种方法(特别是如果您使用的是ASObjC),但您可以使用运行脚本来实现此目的,例如:
set myLabel to text returned of (display dialog "Enter record label (key):" default answer "foo")
set myRecord to run script "return {|" & myLabel & "|:3}"
myRecord --> {foo:3} (using the default answer)
编辑:如果使用了保留字词,我用管道包围标签(键)。
答案 1 :(得分:0)
另一种方法是使用Late Night Software的“List& Records Tools”免费osax,它提供获取和设置用户属性所需的功能。
http://www.latenightsw.com/freeware/list-record-tools/
将myRecord设置为myRecord& (将myRecord中的用户属性foo设置为3)
答案 2 :(得分:0)
我知道这是一个长期回答的问题,但它是我在研究这个问题并自己尝试时发现的第一个问题。我还想在运行时确定我设置的变量(不是键),我完成了这样的结果:
set scr to "on run argList
return {|" & dictKey & "|: (item 1 of argList)}
end run"
set newDict to (run script scr with parameters {dictVal})
其中dictKey是用作记录键的变量,dictVal是将其设置为的值。希望这有帮助!