Что нового

Есть ли способ изменить название переменной?

masheen

Новичок
Сообщения
25
Репутация
0
Есть ли способ изменить название переменной?
Например что то наподобие такого? Но чтоб это работало?

Код:
$name=""
$i=2
Assign("$name",$i) =200
MsgBox(0,"", $name2)


или может быть типо такого?

Код:
$name=""
$i=2
$name{$i}=200
MsgBox(0,"", $name2)


Разобрался вроде бы

Код:
$i = 2
Assign('var' & $i, $i)
MsgBox(0,"", $var2)

$i = 2
Assign('var' & $i, _NowDate())
MsgBox(0,"", $var2)


Есть ли другой способ?
 

Trong

Новичок
Сообщения
2
Репутация
0
Код:
#include <Date.au3>

Local $var[3] = [2, "", ""] ;Array

$i = 1
$var[$i] = _NowDate()

MsgBox(0, "$var[" & $i & "]", $var[$i])

$i = 2
$var[$i] = 200

MsgBox(0, "$var[" & $i & "]", $var[$i])
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Автору однозначно нужны массивы, как в принципе и любому с такими вопросами. Хотя если говорить о смене названия переменных, то можно поиздеваться:

Код:
#forcedef $NewVar

Global $SomeVar = 2
; ---
MsgBox(64, 'SomeVar', $SomeVar)
;
If _SetGlobalVarName($SomeVar, 'NewVar') Then
	MsgBox(64, 'SomeVar', $SomeVar)
	MsgBox(64, 'NewVar', $NewVar)
EndIf


Func _SetGlobalVarName(ByRef $__Var, $__sName, $__fSetDef = True)
	If IsDeclared($__sName) Then _
		Return SetError(1, 0, 0)

	Assign($__sName, $__Var, 2)
	If $__fSetDef Then _
		$__Var = ''

	Return 1
EndFunc
 
Верх