[Erledigt] Variablen wert als neuen namen nutzen?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Ditin2
Beiträge: 2
Registriert: 23.05.2021 20:20

[Erledigt] Variablen wert als neuen namen nutzen?

Beitrag 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...
Zuletzt geändert von Ditin2 am 24.05.2021 01:00, insgesamt 1-mal geändert.
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Variablen wert als neuen namen nutzen?

Beitrag von Bisonte »

Dann schaue dir mal in der Hilfe MAPS() an.... Das kommt dem sehr nahe...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Ditin2
Beiträge: 2
Registriert: 23.05.2021 20:20

Re: Variablen wert als neuen namen nutzen?

Beitrag von Ditin2 »

Ok danke :)
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

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

Beitrag 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.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

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

Beitrag 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
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
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

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

Beitrag 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.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten