Seite 1 von 1

[Erledigt] Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 00:32
von Ditin2
Hi,
Ich würde gerne einen Wert einer Variable z.B. direction.i = 1 als teil eines neuen variablen namens verwenden z.B. sk_head_1

Wenn dann direction.i = 2 sollte der Name der neuen variable auch sk_head_2 sein. Ich weiß wie es in Python gehen würde, also wenn es hilft wäre hier der Python code:

Code: Alles auswählen

direction = 1
exec("sk_head_" + str(direction) + " = <irgendwas")
Ich hoffe das gibt es auch in PureBasic...

Re: Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 00:48
von Bisonte
Dann schaue dir mal in der Hilfe MAPS() an.... Das kommt dem sehr nahe...

Re: Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 00:54
von Ditin2
Ok danke :)

Re: [Erledigt] Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 12:21
von GPI
Python ist eine Script-Sprache, so direkt das, was du willst, geht nicht.
Ich frag mich gerade, was du da planst. Irgendwie kommt es mir so vor, als würdest du eine ungünstige Methode verwenden, um dein Ziel zu erreichen.

Re: [Erledigt] Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 12:44
von STARGÅTE
Du kannst dafür Runtime nutzen.
Allerdings muss jede mögliche Variable die entstehen könnte als Runtime definiert werden:

Code: Alles auswählen

Define sk_head_1.i = 11 : Runtime sk_head_1
Define sk_head_2.i = 22 : Runtime sk_head_2
Define sk_head_3.i = 33 : Runtime sk_head_3

Define direction = 2

Debug GetRuntimeInteger("sk_head_"+direction)

direction = 3

SetRuntimeInteger("sk_head_"+direction, 3333)

Debug sk_head_3

Re: [Erledigt] Variablen wert als neuen namen nutzen?

Verfasst: 24.05.2021 12:53
von GPI
mit runtime kannst du aber keine neue Variable erstellen.
Wobei ich da eher ein Array empfehlen würde.

Code: Alles auswählen

dim sk_head(3)
sk_head(1)=11
sk_head(2)=22
sk_head(3)=33

for i= 1 to 3
  debug sk_head(i)
next
Das meinte ich oben, ich denke der Threadersteller hat sich in eine Methode verrannt, eine andere (simple Arrays) würden vermutlich deutlich besser und schneller laufen. Aber dazu müsste man halt wissen, was geplant ist.