2016-11-11 4 views
0
set r to "" 
set device to "IPHONE 6 PLUS SILVER 128GB-AUS" 
set HighValueDevicesPass to {"IPHONE 7", "IPHONE 6", "IPAD PRO", "IPHONE 6S", "IPHONE 6 PLUS"} 

if devices contains HighValueDevicesPass then 
    set r to "Pass" 
end if 
return r 

Я не понимаю, почему это не работает. Переменная «IPHONE 6 PLUS SILVER 128GB-AUS», поэтому на самом деле есть «IPHONE 6 PLUS», который находится в списке.Список AppleScript/содержит

Он работает нормально, если я использую IF в списке, но тогда мне нужно было бы установить любую другую модель в качестве переменной.

Как я могу выполнить частичное совпадение?

ответ

2

Вы можете проверить, есть ли строка в списке, но вы не можете проверить, является ли произвольный элемент списка в строке. Вы должны повторять все предметы по одному.

set r to "" 
set device to "IPHONE 6 PLUS SILVER 128GB-AUS" 
set HighValueDevicesPass to {"IPHONE 7", "IPHONE 6", "IPAD PRO"} 

repeat with i from 1 to count HighValueDevicesPass 
    if device contains item i of HighValueDevicesPass then 
     set r to "pass" 
     exit repeat 
    end if 
end repeat 

return r 

Я также удалены значения "IPHONE 6S" и "IPHONE 6 PLUS", потому что они совпадают по строке "6" IPhone уже.

Смежные вопросы