Что нового

Сохранение первичного значения переменной

RuFraz

Новичок
Сообщения
6
Репутация
0
Как можно реализовать сохранение первичного значения переменной в другую, при этом чтобы вторая переменная уже не изменялась?.
Пример: При старте скрипта в переменной $a присваивается значение, например цифра 3, после некоторого времени в переменной $a уже цифра 10.
Мне же нужно сохранить начальное значение переменной $a (цифра 3) в другой переменной, но так , чтобы оно больше не изменялось, т.е. постоянно было равна 3
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
$b = $a


И самое главное, ни при каких обстоятельствах не изменяйте значение переменной $b.

:smile:

А если серьезно, то есть такое понятие как глобальные и локальные переменные. Возможно, что какая-либо функция в вашем скрипте использует переменную $а, в то время, как нет ее локального объявления в теле функции. Например, в следующем примере функция MyFunc() изменит значение переменной $a.

Код:
$a = 3

MyFunc()

Func MyFunc()
	$a = 10
EndFunc


А в этом примере $a останется неизменной.

Код:
$a = 3

MyFunc()

Func MyFunc()
	Local $a = 10
EndFunc
 
Автор
R

RuFraz

Новичок
Сообщения
6
Репутация
0
Уточню. В переменную $a всегда помещается разное значение (да оно глобальное), но каждый раз больше предыдущего. И мне нужно изъять первое (при старте скрипта)пришедшее значение в эту переменную и отправить в другую, в которой она уже не будет изменятся. Т.е. на момент выполнения скрипта сделать вторую переменную $b в которой помещено первое пришедшее значение из $a неизменным, что-то типа константы.
Как это можно реализовать?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
RuFraz сказал(а):
Как это можно реализовать?

При старте скрипта:

Код:
$b = $a


Значения переменных сами собой не меняются.
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Если переменная $a изначально задаётся при старте скрипта, то что мешает сделать так
Код:
Const $constA = 0 ; тут начальное значение
$a = $constA      ; Инициализация $a
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
RuFraz [?]
помещено первое пришедшее значение из $a
Если $a гарантированно не равна нулю, то можно так
Код:
HotKeySet("{F1}", "DoIt")

Global $a, $b

While Sleep(1000)
WEnd

Func DoIt()
  $a = Random(1, 9, 1)
  If Not $b Then $b = $a
  ConsoleWrite("$a = " & $a & ", $b = " & $b & @CRLF)
EndFunc
Если $a не может быть отрицательной, то так
Код:
HotKeySet("{F1}", "DoIt")

Global $a, $b = -1

While Sleep(1000)
WEnd

Func DoIt()
  $a = Random(0, 9, 1)
  If $b < 0 Then $b = $a
  ConsoleWrite("$a = " & $a & ", $b = " & $b & @CRLF)
EndFunc
и т.д.
 
Верх