Bug mit Stringkonkatenation in V4.50 beta 2

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
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

Bug mit Stringkonkatenation in V4.50 beta 2

Beitrag von NicTheQuick »

Hi!

Hier ein kleines Beispiel, das mein Problem schildert und scheinbar nur bei Listen in Listen auftritt, die außerdem Strings sind.

Code: Alles auswählen

Structure Bla
  s.s
  List sub.s()
EndStructure

NewList a.Bla()

For i.i = 1 To 3
	If AddElement(a())
		a()\s = str(i)
		For j.i = 1 To 2
			If AddElement(a()\sub())
				a()\sub() = str(i) + ":" + str(j)
			EndIf
		Next
	EndIf
Next

ForEach a()
	Debug "Doing this with '" + a()\s + "'?"
	ForEach a()\sub()
		Debug "  - '" + a()\sub() + "'"
	Next
Next
Debugger hat geschrieben:Doing this with '1'?
- ' - '1:1'
- ' - '1:2'
Doing this with '2'?
- ' - '2:1'
- ' - '2:2'
Doing this with '3'?
- ' - '3:1'
- ' - '3:2'
Wie man sieht steht der String " -'" immer doppelt am Anfang der Ausgabe der inneren String-Liste.

Das ganze passiert so unter Ubuntu 9.10 x64, aber ich denke mit Betriebssystem oder System hat dieser Fehler wenig zu tun. Ich könnte mir vorstellen bei einer weiteren inneren Liste, wird der String " -'" dreimal davor gestellt, usw. Wird also ein kleines Rekursionsproblem sein.

///Edit:
Hier übrigens noch die temporäre Lösung für das Problem:

Code: Alles auswählen

ForEach a()
	Debug "Doing this with '" + a()\s + "'?"
	ForEach a()\sub()
		t.s = a()\sub()
		Debug "  - '" + t + "'"
	Next
Next
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Bug mit Stringkonkatenation in V4.50 beta 2

Beitrag von ts-soft »

ähnliches Problem bereits gemeldet:
http://www.purebasic.fr/english/viewtop ... =4&t=41843
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten