Привет! Ну что, что у меня есть — массив, в нём X элементов. Я хочу изменить значение одного элемента, например, по индексу 2. Можешь это сделать? Я не могу найти способ, или мне придётся вручную проходить по нему и пересоздавать? Вот что у меня сейчас, это какая-то морока, и я уверен, что есть способ получше:
:local WDSIPS "192.168.1.232,192.168.1.233,192.168.1.234,192.168.1.235,192.168.1.236,192.168.1.237"
:set WDSIPS [:toarray $WDSIPS]
:local WDSIPStatus "1,1,1,1,1,1"
:set WDSIPStatus [:toarray $WDSIPStatus]
:local intVal2 0
:local TempStatus ""
:local IPAddress "192.168.1.235"
:foreach TempIPAddress in=$WDSIPS do={
:local newval 0
:if ($IPAddress != $TempIPAddress) do={
:set newval [:pick $WDSIPStatus $intVal2 ($intVal2 + 1)]
}
:set TempStatus ($TempStatus . $newval . ",")
:set intVal2 ($intVal2+1)
}
:set WDSIPStatus [:pick $TempStatus 0 ([:len $TempStatus]-1)]
:set WDSIPStatus [:toarray $WDSIPStatus]
:local WDSIPS "192.168.1.232,192.168.1.233,192.168.1.234,192.168.1.235,192.168.1.236,192.168.1.237"
:set WDSIPS [:toarray $WDSIPS]
:local WDSIPStatus "1,1,1,1,1,1"
:set WDSIPStatus [:toarray $WDSIPStatus]
:local intVal2 0
:local TempStatus ""
:local IPAddress "192.168.1.235"
:foreach TempIPAddress in=$WDSIPS do={
:local newval 0
:if ($IPAddress != $TempIPAddress) do={
:set newval [:pick $WDSIPStatus $intVal2 ($intVal2 + 1)]
}
:set TempStatus ($TempStatus . $newval . ",")
:set intVal2 ($intVal2+1)
}
:set WDSIPStatus [:pick $TempStatus 0 ([:len $TempStatus]-1)]
:set WDSIPStatus [:toarray $WDSIPStatus]
