这是一个非常奇怪的问题,我无法理解,代码很清楚,你可以看到,我不知道我是否累了或看不到的东西......请告诉我为什么我会得到假因此,虽然它应该是True,但我有一个包含一个项目的列表,它是变量中的确切列表 谢谢
property forbidenFolders : {"/Volumes/USERS/"}
set ff to "/Volumes/USERS/" as text
my isForbidenFolder(ff)
on isForbidenFolder(SelectedFolder)
repeat with i in forbidenFolders
log "forbiden folders: " & i
log "actual folder : " & SelectedFolder
if i = SelectedFolder then
log "this folder is forbiden"
return true
end if
end repeat
log "NOT forbiden"
return false
end isForbidenFolder
结果在这里
答案 0 :(得分:0)
当我在重复循环中设置为列表项时,您将获得对该项的引用。您需要将其强制转换为字符串以供比较。
if (i as string) = SelectedFolder
答案 1 :(得分:0)
这是参考陷阱。
语法repeat with item in list
通过引用遍历列表,例如a reference to item 1 of list
,a reference to item 2 of list
等,而非项目本身。
为了能够检查是否相同,您必须使用contents of
if contents of i = SelectedFolder then