А в чём ошибка, если функции повсеместно используются (и явно не дураками делались) ?Loopback писал(а):Больше таких ошибок делать не буду.
Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Вероятность использования одной и той же строковой переменной в разных местах скрипта сводится к минимуму, поэтому само создание отдельных переменных практически не востребовано.
Синтаксисы команд и функций нигде тут друг другу противоречить не будут, если как следует всё делать.
Боюсь, при текущем подходе конфиг распухнет до неузнаваемости, и автозагрузка значительно замедлится.
И большое пожелание добавить поддержку арифметических операторов (особенно конкатенации) в ShellExec, IniWrite, ProcessExecGetOutput, иначе тут появление ряда новых команд окажется бессмысленным. Не всё же через Set получать.
Вероятность использования одной и той же строковой переменной в разных местах скрипта сводится к минимуму, поэтому само создание отдельных переменных практически не востребовано.
Синтаксисы команд и функций нигде тут друг другу противоречить не будут, если как следует всё делать.
Боюсь, при текущем подходе конфиг распухнет до неузнаваемости, и автозагрузка значительно замедлится.
И большое пожелание добавить поддержку арифметических операторов (особенно конкатенации) в ShellExec, IniWrite, ProcessExecGetOutput, иначе тут появление ряда новых команд окажется бессмысленным. Не всё же через Set получать.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Если строчные функции в том виде, в котором они есть не нужны и опасны для размера конфига - могу убрать. Уже жалею, что вообще добавил. Но в другом виде их сейчас не будет.
Вычислений на месте тоже не будет. Отдельная конкатенация в Autorun вообще не нужна, переменные разворачиваются в тексте.
Если строчные функции в том виде, в котором они есть не нужны и опасны для размера конфига - могу убрать. Уже жалею, что вообще добавил. Но в другом виде их сейчас не будет.
Вычислений на месте тоже не будет. Отдельная конкатенация в Autorun вообще не нужна, переменные разворачиваются в тексте.
Поясни на примере. Мне нужно в ряде случаев в одну строку сливать текст и переменные. Как формируется такая запись? Так же, как и с переменными среды? И как с кавычками быть в таких записях?Loopback писал(а):Отдельная конкатенация в Autorun вообще не нужна, переменные разворачиваются в тексте.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
По-моему, с такими широкими запросами уже надо отдельный скрипт писать и выполнять его через ShellExec... Функции, арифметика...
Вообще, конечно, "мне так хочется" - не ответ. А мне захочется иначе, всем сразу не угодишь. Проводить необязательную дополнительную обработку, тем более при наличии добавленной команды снижения регистра - избыточность.Flasher писал(а):Вообще-то было запрошено дважды и подтверждено. Верхний регистр не нужен.MVV писал(а):Не пойму, зачем было проводить допобработку возвращаемой системой строки языка...
поддерживаю. пока сделал так:MVV писал(а):Проводить необязательную дополнительную обработку, тем более при наличии добавленной команды снижения регистра - избыточность.
Код: Выделить всё
StrUpper OSLANG %SYSINFO_USERLANG%
SetEnv /EV COMMANDER_OSLANG %OSLANG%
У тебя в TCFS2 всё это есть без всяких скриптов. Или забыл?MVV писал(а):По-моему, с такими широкими запросами уже надо отдельный скрипт писать и выполнять его через ShellExec... Функции, арифметика.
А какой тебе нужен ответ? У тебя аргумента в пользу верхнего регистра, кроме того, что так выдаёт функция по умолчанию, нет. А у меня есть и автор, видимо, это понимает, раз согласился.MVV писал(а):Вообще, конечно, "мне так хочется" - не ответ.
И вообще, когда я это дважды запрашивал, никто против не был. Поэтому нечего зря теребить автора, когда это уже случилось.
Эта обработка - несколько символов в коде, который ещё и компилируется. За какие ресурсы ты переживаешь? Самому-то не смешно рассуждать на эту тему?MVV писал(а):Проводить необязательную дополнительную обработку, тем более при наличии добавленной команды снижения регистра - избыточность.
А эту команду можно уже убирать вместе с остальными. Как видишь, зря добавлялись они. Лишние нагромождение в конфиге с такими командами - вот это избыточность.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
KopBuH
Они появились исходя из моего раннего предложения. Но было оно в ином виде. Поэтому Loopback и пишет, что жалеет о добавке.
Они появились исходя из моего раннего предложения. Но было оно в ином виде. Поэтому Loopback и пишет, что жалеет о добавке.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ну так какие проблемы? Вот пример, пусть и несколько надуманный:Flasher писал(а):Поясни на примере. Мне нужно в ряде случаев в одну строку сливать текст и переменные. Как формируется такая запись? Так же, как и с переменными среды? И как с кавычками быть в таких записях?
Код: Выделить всё
Set NUMBER 1
SetEnv VAR "%COMMANDER_DRIVE%\Soft\%SYSINFO_OSARCH%\MyFile-'%NUMBER%'.ini"Такую же конструкцию можно использовать в любой команде, где разворачиваются переменные. Причем это удобнее конкатенации.
Жалею только потому, что это вызвало новый виток дискуссий в стиле "хочу так, а не иначе, поскольку иначе неправильно, будет работать медленно, будет громоздко, смотрится ваще некрасиво, смысла в переменных нет, смысла в новых функциях нет и т.д. и т.п." И опять приходится что-то доказывать.Flasher писал(а):Они появились исходя из моего раннего предложения. Но было оно в ином виде. Поэтому Loopback и пишет, что жалеет о добавке.
Думаешь, что я не понимаю, чем функции удобнее того, как сделано в Autorun? Понимаю, но также понимаю и то, почему сделано так, а не иначе, и во что выльются попытки дальнейшего усложнения синтаксиса с существующим парсером. Это бессмысленная трата времени и нагромождение кучи кода, поскольку имеющийся парсер принципиально не может решить задачу работы с ними. А ради чего? Ради нескольких функций, которые будут использоваться в лучшем случае пару раз на скрипт?
Что поделаешь, любая программа - это компромисс. Что-то подходит лучше, что-то хуже, но нет ни одной идеальной и все равно приходится мириться с недостатками. Если ты считаешь, что их тут слишком много - боюсь, я ничем помочь не смогу.
У TCFS2 несколько иной функционал. Мне, например, хочется, чтобы Autorun оставался компактным и легким, все тяжелые действия можно делать из запускаемых им программ/модулей.Flasher писал(а):У тебя в TCFS2 всё это есть без всяких скриптов. Или забыл?
И каковы же твои аргументы в пользу принудительного преобразования к нижнему регистру?Flasher писал(а):А у меня есть и автор, видимо, это понимает, раз согласился.
Так, хорошо, а если пробелы между переменными и текстом есть?Loopback писал(а):Такую же конструкцию можно использовать в любой команде, где разворачиваются переменные.
Этого я не писал. Тем более про функции.Loopback писал(а):смотрится ваще некрасиво, смысла в переменных нет, смысла в новых функциях нет
В этом никто не сомневался. Речь только может идти про новый.Loopback писал(а):поскольку имеющийся парсер принципиально не может решить задачу работы с ними
У меня в голове держатся мысли, где вовсе не пару. Скажем, есть файлы, где регистр в именах гуляет и их надо прописывать в точном соответствии. Представь, сколько будет уходить строк на всё это.Loopback писал(а):Ради нескольких функций, которые будут использоваться в лучшем случае пару раз на скрипт?
TCFS2 при наличии всех этих приблуд в несколько раз легче Autorun. И каков вывод?MVV писал(а):Мне, например, хочется, чтобы Autorun оставался компактным и легким
Вот именно - тяжёлые.MVV писал(а): все тяжелые действия можно делать из запускаемых им программ/модулей.
Отличные от твоих, видимо. Ты же оспариваешь, тебе и начинать писать про верхний.MVV писал(а):И каковы же твои аргументы в пользу принудительного преобразования к нижнему регистру?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Вывод - кропотливое написание кода на C++ с голым API позволяет получить более компактный модуль.TCFS2 при наличии всех этих приблуд в несколько раз легче Autorun. И каков вывод?
Мой аргумент был в избыточности нестандартного преобразования, которое нужно не всем, а кому нужно, вызовет процедуру приведения к нижнему регистру. Твоих аргументов кроме "я хочу" пока не было.Отличные от твоих, видимо. Ты же оспариваешь, тебе и начинать писать про верхний.
Последний раз редактировалось MVV Вс фев 03, 2013 23:07, всего редактировалось 1 раз.
Вывод - компактность кода ещё не есть лёгкость программы/модуля.MVV писал(а):Вывод - C++ с голым API позволяет написать более компактный модуль.
Могу сказать то же самое - верхний регистр тоже нужен не всем. Эта такой же "аргумент", как и псевдоизбыточность.MVV писал(а):которое нужно не всем
Агрументом тут может быть лишь непосредственно личная выгода или польза от использования исходного вида.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.