Hva er Infinite Loop i en Mac?

En uendelig løkke i programmering er en del av programkode som gjentar alltid. De fleste programmerings løkker stoppe når de oppfyller en test kalt en "break tilstand." Uendelige løkker enten aldri møte denne pausen tilstand, eller ikke har en pause tilstand i første omgang. Uendelige løkker kan oppstå i Mac programmering, som de kan på nesten alle PC-plattformer.

Finite Loops

De fleste programmerings loops skje for et gitt antall ganger, eller inntil de møter en kjent tilstand. For eksempel vil dette Apple sløyfe gjenta ti ganger:

gjenta med i fra 1 til 10
- Programmeringskode vises her
end repeat

Dette Apple sløyfe vil gjenta til brukeren klikker "No:"

satt user_reply til "Ja"
Gjenta til user_reply er "Nei"
- Programmeringskode vises her
satt user_reply til knappen returnert av ¬
(Display dialog "Vil du fortsette?" ¬
knapper { "Ja", "Nei"}
end repeat

Infinite Loops

En Applescript uendelig loop er svært enkel:

gjenta
- Programmeringskode vises her
end repeat

I dette tilfellet er det ingen pause betingelsessett, slik at Applescript vil kjøre for alltid, eller til brukeren stopper programmet manuelt.

En mer vanlig type uendelig løkke stammer fra en programmeringsfeil, som demonstrert i det følgende Apple:

gjenta til (dato) < "1 januar 1995 12:00"
- Programmeringskode vises her
end repeat

Bruddet tilstand i dette skriptet oppstår når Mac-systemdatoen er før 1995, noe som aldri vil skje på en moderne Mac.

Effekter av Infinite Loops

Når en uendelig loop oppstår i et Mac-program, blir søknaden vanligvis ikke svarer til brukerens inndata fra tastatur og mus. Dette fører til Mac OS X til å endre musepekeren til en sirkulær spinnende regnbue når den er plassert over menyene og vinduer av det programmet. Men det er andre grunner til at en spinnende regnbue markøren kan vises, og i noen av disse situasjonene programvaren kan være bare midlertidig svarer. Mac-brukere bør vente en rimelig tid før tvinge programmet til å avslutte med Command-Option-Esc tastekombinasjon. Lengden av en rimelig tid, selvfølgelig, vil variere mye mellom brukere.

En spesiell Infinite Loop

Det er en annen uendelig loop som er unik for Apple: adressen til bedriftens hovedkontor er en Infinite Loop, Cupertino, CA. Dette er en dobbel ordspill: ikke bare er en uendelig løkke som regel et resultat av dårlig programmering, men også en uendelig løkke, som en sirkel, vanligvis ikke har en "1" eller et utgangspunkt.