Перейти к содержимому
Калькуляторы

warez

Новичок
  • Публикации

    8
  • Зарегистрирован

  • Посещение

О warez

  • Звание
    Абитуриент
    Абитуриент
  1. Пока мылся в душе случайно нашел скрытое решение! Можно добавлять динамически элементы в массив используя оператор set - если элемент с ключом не существовал - то он добавляется! { :local key1 "MyKey1"; :local key2 "MyKey2"; :local val1 "MyValue1"; :local val2 "MyValue2"; :local a ({}); # Dynamic add element! :-) :set ($a->$key1) $val1; :set ($a->$key2) $val2; :put $a; :put [:len $a]; :put ($a->$key1); :put ($a->$key2); } Вывод: MyKey1=MyValue1;MyKey2=MyValue2 2 MyValue1 MyValue2
  2. собственно саппорт МикроТика ответил, что использование в данном месте переменной к сожалению недопустимо. :local a {"$key"="$val"}; увы.
  3. Как вариант кривого решения добавить такую глобальную функцию :global Pair do={ # :global gRet ""; :local str ":global gRet; :set gRet {\"$1\"=\"$2\"};"; :local func [:parse $str]; $func; :return $gRet; } Потом мы можем делать так: { :local key "MySuperKey"; :local val "MyValue"; :local x [$Pair $key $val]; :put $x; :put [typeof $x]; :put ($x->$key); } Вывод: MySuperKey=MyValue array MyValue Но решение уж больно блевотное. К тому же не обладает секьюрностью данных для параллельных задач - т.к. используется глобальная переменная
  4. Головоломка для гуру скриптинга Микротик: Знатоки! Внимание вопрос: как мне в run-time в скрипте в RouterOS установить значение ключа элемента ассоциативного массива из переменной? Простой вариант { :local array {"key"="value"}; :put ($array->"key"); } Вывод: value Хочется "key" и "value" брать из переменных :local key "mykey"; :local val "value"; # В след строке не работает как хотелось бы $key! :local array {"$key"="$val"}; #при этом вполне работает получение элемента по ключу из переменной :put ($array->$key); уже сломал всю голову. юзал скобки, кавычки, $баксы - получается "$key"="$val" логическое выражение. Кое как громоздко можно сделать через команду :parse - но получается очень стремный код. P.S. Для чего мне это надо вообще - хочется написать одну функцию, которая возвращает ассоциативный массив (ключ-значение) при этом ключи заранее неизвестны.
  5. MikroTik RB951Ui-2HnD всегда горят P2 и P4

    Т.е. мне надо менять проц, в котором и есть switch чип?
  6. MikroTik RB951Ui-2HnD всегда горят P2 и P4

    Проблема да - явно со Switch-ом, роутер работает норм с портами и wifi модулем, которые не объединены в Switch методом указания master-порта: а если указать master - то все что оказывается в бридже - не функционирует. belokuriha 9344 - это другая модель платы получается?
  7. MikroTik RB951Ui-2HnD всегда горят P2 и P4

    спасибо за подсказки. только не очень понял где свитч - длинный вдоль ethernet портов? под радиатором вроде CPU?
  8. MikroTik RB951Ui-2HnD всегда горят P2 и P4

    Народ располагает кто информацией - что в данной ситуации неисправно? что надо перепаять/заменить и т.п. Есть пара роутеров с такой же проблематикой. Я предполагаю, что имело место проблема с их питанием (один стоял в пром зоне, другой на квартире где уже выгорали порты после грозы на роутерах)