在大多数情况下,get 和 prop 函数返回相同的值。这两个函数之间的区别在于,get 函数并非始终返回可编写脚本的值,而 prop 函数始终返回可编写脚本的值。可编写脚本的值对于每种类型的属性都具有相同的稳定形式。
对于大多数属性,get 和 prop 函数返回相同的值,如 version 属性的以下示例中所示:
> ls version = 2019.02.28,1-0 > script get('version') '2019.02.28,1-0' > script prop('version') '2019.02.28,1-0'
在 date 属性的以下示例中,请注意 get 函数返回的值与 prop 函数返回的可编写脚本的值之间的差异:
> ls date = 2019-2-28 10:43:11 > script get('date') Tue Feb 28 2019 10:43:11 GMT+0000 (UTC) (Date object) > script prop('date') '2019-02-28T10:43:11Z'
在 prop 函数调用中包含一个值,以设置已命名属性的值。如果给定的值不是该属性的指定可编写脚本的形式,则会输出错误消息。否则,prop 函数的设置形式不会返回任何值。
> ls date = 2019-2-28 10:43:11 > script prop('date', '2019-03-09T12:34:56Z') > ls date = 2019-3-09 12:34:56 > script prop('date') '2019-03-09T12:34:56Z'
由于 prop 函数可以用于返回属性值,也可以用于设置属性值,因此 prop 函数无法如 set 函数一样在不指定值的情况下将布尔型属性设置为 true。
以下示例显示了如何使用 set 函数的简短形式将布尔型属性设置为值 true:
set('booleanproperty')
prop 函数的简短形式返回布尔型属性值 true 或 false:
script prop('booleanproperty') 'false'
要使用 prop 函数设置布尔型属性的值,必须提供值:
script prop('booleanproperty', true) script prop('booleanproperty') 'true'
要为具有 List(列表)修饰符的属性设置可编写脚本的值,必须指定值数组:
> ls stringlist = a,string,list > script prop('stringlist', ['a', 'b', 'c', 'd']) > script prop('stringlist') ['a', 'b', 'c', 'd'] > ls stringlist = a,b,c,d
要为 List(列表)属性指定单个值,请将单个值指定为大小为一的数组:
> ls stringlist = a,string,list > script prop('stringlist', ['a']) > script prop('stringlist') ['a'] > ls stringlist = a
要为具有 Empty(空)或 List(列表)修饰符的属性指定空值,请指定空数组:
> ls emptystringlist = a,string,list > script prop('emptystringlist', []) > script prop('emptystringlist') [] > ls emptystringlist =