2016-09-28 4 views
1

Dies ist ein sehr seltsames Problem, ich konnte es nicht verstehen, der Code ist sehr klar, wie Sie sehen können, ich weiß nicht, ob ich müde bin oder etwas nicht sehen konnte ... bitte sagen sie mir, warum ich als Ergebnis falsch bin immer, während es wahr sein sollte, ich habe eine Liste mit einem Element, und es ist das genaue, in den variablen dankLogik funktioniert nicht mit Listenelemente in Applescript

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 

Ergebnis hier

enter image description here

Antwort

0

Das ist die Referenzfalle.

Die Syntax repeat with item in list iteriert durch die Liste mit Referenzen z. a reference to item 1 of list, a reference to item 2 of list usw. anstatt das Element selbst. mit contents of

if contents of i = SelectedFolder then 
+0

Danke Man Sie alaways mich retten –

+0

Sie sind willkommen :-)

zu können für die Gleichstellung Sie zu dereferenzieren das Einzelteil haben prüfen, – vadian

0

Wenn ich auf das Element einer li eingestellt ist In einer Wiederholungsschleife erhalten Sie einen Verweis auf den Artikel. Sie müssen es in eine Zeichenfolge für Ihren Vergleich zwingen.

if (i as string) = SelectedFolder 
Verwandte Themen