对AppleScript的新手,这个小支票让我疯狂。
我想检查脚本的输入是否具有“mob”的子字符串 如果我使用mob1234创建一个变量,它可以工作并返回true。
on run {input, parameters}
set testString to "mob1234"
display dialog {"MOB" is in testString}
return input
end run
如果我改变它以使用输入,并将输入设置为mob1234,它会失败并给我错误
on run {input, parameters}
set testString to input
display dialog {"MOB" is in testString}
return input
end run
我不知道。
答案 0 :(得分:2)
你不会说你如何调用你的脚本。如果您通过Automator调用脚本,请注意在此模式下输入是列表,而不是字符串,因此这应该有效:
set testString to item 1 of input
答案 1 :(得分:1)
由于iayork给出的答案似乎是对的,所以有一些跟进:
with open('high_score.txt', 'r') as file:
for line in file:
...
请参阅iayork关于使用-- When this is saved as compiled script one can call it from Terminal like:
-- `osascript scriptName.scpt MOBstringArg1 arg2`
on run {input, parameters}
if (input's class is list) then set input to (item 1 of input) as text
if "MOB" is in input then
display notification "FOUND MOB" with title "In: " & input
end if
return input
end run
调用脚本的评论。
答案 2 :(得分:0)
当您将输入分配给testString:set testString to input as text
时,也就是说,如果您不打算使用任何其他输入列表项,也可以直接强制输入文本。