For i = 9 to 0 Step -1 ; Danach ist i = -1 o.O

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Kurzer
Beiträge: 1621
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

For i = 9 to 0 Step -1 ; Danach ist i = -1 o.O

Beitrag von Kurzer »

Moinsen,
hier bin ich gerade drüber gestolpert:

Code: Alles auswählen

For i = 9 To 0 Step - 1
	; Machwas
Next i

Debug i
; Warum ist i jetzt -1 und nicht 0?
Ich habe das von anderen Basics so in Erinnerung, daß die Zählervariable den letzten Wert (= Zielwert) der Schleife annimmt.

Hier im Beispiel wird sie nach dem letzten Schleifendurchlauf offenbar noch einmal dekrementiert.
War das schon immer so in PB oder kann man das als Bug einstufen?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: For i = 9 to 0 Step -1 ; Danach ist i = -1 o.O

Beitrag von NicTheQuick »

Das war schon immer so in PB.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: For i = 9 to 0 Step -1 ; Danach ist i = -1 o.O

Beitrag von STARGÅTE »

weil in "To 0 " eine Abfrage drin steht, die erst fehlschlägt wenn i = -1 wird.

Das gilt auch für normale schleifen:

Code: Alles auswählen

For n = 1 To 9
Next
Debug n
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Kurzer
Beiträge: 1621
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: For i = 9 to 0 Step -1 ; Danach ist i = -1 o.O

Beitrag von Kurzer »

Alles klar, danke für die Info.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Antworten