#!/usr/bin/env lua
function gcd(a,b)
if b == 0 then return math.abs(a)
else return gcd(b,a%b)
end
end
DataSet = {2, 9, 6, 10, 5}
print (gcd(
(math.min
(table.unpack(DataSet))
)
,
(math.max
(table.unpack(DataSet))
)
)
)
На REXX, тоже самое. Разумеется там тоже нет gcd. Но дедушка старенький, дедушке простительно. ;-)
#!/usr/bin/env rexx
/* Find min, max and gcd of min and max */
DataSet="2, 9, 6, 10, 5"
INTERPRET "Min=min("Dataset")"
INTERPRET "Max=max("Dataset")"
SAY gcd(Min, Max)
EXIT
gcd: procedure
PARSE ARG a,b
IF b = 0 THEN RETURN abs(a)
RETURN gcd(b,a//b)
Да, бобик регистронезависимый язык и в нём нет зарезервированных слов. Так min() здесь и функция и Min переменная. Далее язык понимает по контексту. Но злоупотреблять этим конечно не стоит.
Это разные проспекты, по названиям. Большой проспект ВО и большой проспект Петроградской стороны. А вот то что в пределах одного Петербурга две Казанские улицы (одна в центре, у Казанского собора, вторая на Охте), это куда как хуже.
Было бы удивительно если бы superuser не имел полных прав в системе. Поэтому и были придуманы sudo, doas и блокировка root аккаунта. sudo логгирует действия вызвавшего его пользователя.
И пользуются и покупают новые. Потому что при тех объёмах печати в банках, по соотношению производительность / надёжность / стоимость отпечатка высокоскоростным (тем которые печатают сразу целой строкой) матричникам аналоговнет.
Начнём с того что первая VCS появилась аж в начале 70-х, а к 95-му году уже CVS вовсю цвёл и пах! А для простых сценариев и учиться не надо (git add / git commit) У меня, при помощи etckeeper они срабатывают вообще автоматически -- по крону или если какой-то софт обновился с новыми версиями конфигов.
В OS/2 он во первых имеет строго ограниченную глубину дерева, а во вторых хранит не только конфигурацию, но и стейт объектной оболочки WPS ( то есть используется как объектная БД ). Вся системная, не связанная с GUI конфигурация хранится в текстовых файлах.
А ещё last , groups, rev, blockdev... Не говоря уже о systemd специфичных всяких resolvectl которые, в отличие от например ncdu / gdu / dua есть чуть менее чем на каждой современной системе. Да тот же top. Много кто им умеет по настоящему пользоваться? Хотя он даёт те же метрики и даже больше, что и htop.
Ну вот зачем было подсказывать? ;-) Тем и отличаются всякие такие теоретические списки с кучей хипстерских утилит, от практики и хардкорных util-linux и сотоварищи. ;-)
Если кому нужна подсвечивалка по регуляркам, ловите, мне не жалко. ;-)
#!/usr/bin/env bash
#
# hlt approved by shellcheck ;-)
#
hl_start="\\\e[0;1;4;32m"
hl_end="\\\e[0m"
usage() {
cat << 'EOF'
hlt: 'sed -E' regular expression highlighter from file or stdin.
Usage:
hlt '<regular expression>' <file>
or command | hlt '<regular expression>'
EOF
exit 1
}
if [[ -z "$1" ]]; then
usage
fi
if [[ -n "$2" ]]; then
file="$2"
else
file="/dev/stdin"
fi
result="$(sed -E "s/(""$1"")/$hl_start\1$hl_end/g" "$file")"
echo -e "$result"
exit 0
А главное практически всегда есть в системе. И да. это реально самый простой шаблонизатор. Но творение автора тоже может быть применимо в определённых кейсах.
PS: Такое чуйство, что автор раньше писал статьи для Журнал Хакер ;-)
Подскажите. А дефолтные настройки sudo / sudoers всё так же дико несекьюрны? (отображение количества символов вводимого пароля астерисками, таймаут на сессию аж целых 15 минут и это вот всё)? А то когда мой падаван в своём минте шарит экран, я иногда периодически выпадаю в осадок. ;-)
Не холивара ради, а интересу для. Современный русский -- самый неславянский из всех остальных славянских. Где-то по интернету бродит табличка со списком слов на куче славянских языков (русский, польский, чешский, белорусский, украинский etc), где они ± одинаковы, кроме русского. КМК именно поэтому большинство носителей великого и могучего так плохо понимают соседей, украинцев и белорусов, не говоря уже о более дальних "родственниках".
Юзаю Mindforger (Linux, Windows, MacOS). Исключительно локальная софтина (безо всякого электрона) хранящая инфу в plaintext Markdown, вместе с метаинформацией, в виде комментариев, в этих же файлах. Всякие медиа, в виде картинок хранятся рядом (но никто не мешает хранить картинки с урлами на ресурсы из интернетов). Бэкапирование, синхронизация и версионирование при помощи вашей любимой CVS (Git, SVN etc) Хештеги, перекрёстные ссылки, поддержка matjax, диаграмм (честно забыл какого стандарта ;-)), автодополнение и live preview в редакторе ну и прочие плюшки в комплете. Идеология блокнотов, по разным темам, но при этом сквозной поиск и рефакторинг (у меня отдельный блокнот для быстрых заметок, страницы из которого я, после причёсывания раскидываю по тематическим блокнотам). Вобщем софтина хоть и несколько специфическая, но мои потребности в "Энциклопедии юных сурков", перекрывает пожалуй полностью. Увы, но мобильной версии нет.
Мне больше нравится телеграм-бот @ZXRasterBot от камрада @Error1024 делающий вот такое прекрасное. Там можно часами подбирать подходящие под конкретную картинку параметры.
Что-бы понять рекурсию, нужно понять рекурсию.
На lua (как ни странно нет
math.gcd()
)На REXX, тоже самое. Разумеется там тоже нет gcd. Но дедушка старенький, дедушке простительно. ;-)
Да, бобик регистронезависимый язык и в нём нет зарезервированных слов. Так
min()
здесь и функция иMin
переменная. Далее язык понимает по контексту. Но злоупотреблять этим конечно не стоит.Это разные проспекты, по названиям. Большой проспект ВО и большой проспект Петроградской стороны. А вот то что в пределах одного Петербурга две Казанские улицы (одна в центре, у Казанского собора, вторая на Охте), это куда как хуже.
Было бы удивительно если бы superuser не имел полных прав в системе. Поэтому и были придуманы
sudo
,doas
и блокировка root аккаунта.sudo
логгирует действия вызвавшего его пользователя.И пользуются и покупают новые. Потому что при тех объёмах печати в банках, по соотношению производительность / надёжность / стоимость отпечатка высокоскоростным (тем которые печатают сразу целой строкой) матричникам аналоговнет.
Начнём с того что первая VCS появилась аж в начале 70-х, а к 95-му году уже CVS вовсю цвёл и пах! А для простых сценариев и учиться не надо (
git add
/git commit
) У меня, при помощи etckeeper они срабатывают вообще автоматически -- по крону или если какой-то софт обновился с новыми версиями конфигов.В OS/2 он во первых имеет строго ограниченную глубину дерева, а во вторых хранит не только конфигурацию, но и стейт объектной оболочки WPS ( то есть используется как объектная БД ). Вся системная, не связанная с GUI конфигурация хранится в текстовых файлах.
Всё, уходит эпоха PowerPC...
В редакторе можно включить отображение... Не пайтон, но тем не менее.
А ещё
last
,groups
,rev
,blockdev
... Не говоря уже о systemd специфичных всякихresolvectl
которые, в отличие от напримерncdu
/gdu
/dua
есть чуть менее чем на каждой современной системе. Да тот жеtop
. Много кто им умеет по настоящему пользоваться? Хотя он даёт те же метрики и даже больше, что иhtop
.Да вон же! На последней фотке, в строке приглашения, вместо бакса та самая черепашка!
Ну вот зачем было подсказывать? ;-) Тем и отличаются всякие такие теоретические списки с кучей хипстерских утилит, от практики и хардкорных
util-linux
и сотоварищи. ;-)Окей! А как максимально быстро создать файл любого размера? Ну например для использования под своп или создания raw image. ;-)
Всё уже придумано до нас. ;-)
И вот как-то так оно и работает
Если кому нужна подсвечивалка по регуляркам, ловите, мне не жалко. ;-)
А главное практически всегда есть в системе. И да. это реально самый простой шаблонизатор. Но творение автора тоже может быть применимо в определённых кейсах.
PS: Такое чуйство, что автор раньше писал статьи для Журнал Хакер ;-)
Подскажите. А дефолтные настройки
sudo
/sudoers
всё так же дико несекьюрны? (отображение количества символов вводимого пароля астерисками, таймаут на сессию аж целых 15 минут и это вот всё)? А то когда мой падаван в своём минте шарит экран, я иногда периодически выпадаю в осадок. ;-)Диалекты markdown всё чаще и чаще заменяют разнообразие вики-движков.
И в рифму к ним мантисса и биссектриса (это такая крыса, которая бегает по углам и делит угол пополам) Извините. ;-)
Не холивара ради, а интересу для. Современный русский -- самый неславянский из всех остальных славянских.
Где-то по интернету бродит табличка со списком слов на куче славянских языков (русский, польский, чешский, белорусский, украинский etc), где они ± одинаковы, кроме русского. КМК именно поэтому большинство носителей великого и могучего так плохо понимают соседей, украинцев и белорусов, не говоря уже о более дальних "родственниках".
Юзаю Mindforger (Linux, Windows, MacOS). Исключительно локальная софтина (безо всякого электрона) хранящая инфу в plaintext Markdown, вместе с метаинформацией, в виде комментариев, в этих же файлах. Всякие медиа, в виде картинок хранятся рядом (но никто не мешает хранить картинки с урлами на ресурсы из интернетов). Бэкапирование, синхронизация и версионирование при помощи вашей любимой CVS (Git, SVN etc) Хештеги, перекрёстные ссылки, поддержка matjax, диаграмм (честно забыл какого стандарта ;-)), автодополнение и live preview в редакторе ну и прочие плюшки в комплете. Идеология блокнотов, по разным темам, но при этом сквозной поиск и рефакторинг (у меня отдельный блокнот для быстрых заметок, страницы из которого я, после причёсывания раскидываю по тематическим блокнотам). Вобщем софтина хоть и несколько специфическая, но мои потребности в "Энциклопедии юных сурков", перекрывает пожалуй полностью. Увы, но мобильной версии нет.
Гораздо раньше Доктора устройство для раздавания лещей, в виде будильника, сделала
Simone Giertz
:-)
Мне больше нравится телеграм-бот @ZXRasterBot от камрада @Error1024 делающий вот такое прекрасное. Там можно часами подбирать подходящие под конкретную картинку параметры.