Вот так выглядят простейшие арифметические действия
Это на простейших примерах. А вот V + W = Г (2 + 4 = 6, записанное с помощью более-менее похожих символов). И здесь надо учитывать "внутренний перенос разряда" при переходе между 4 и 5.
Наверно, при сложении 5 вертикальных преобразовать в 1 горизонтальную. Как в подобных случаях с другими операциями еще не сообразил.
А вот, например, как 3 + 18 = 21? Наверно, дело привычки. 6 вертикальных это 1 горизонтальная и 1 вертикальная, получается 4 горизонтальных и 1 вертикальная. А 4 горизонтальных это 1 вертикальная рядом (новый разряд).
прослушивание коротких <...> намного эффективнее для обучения, чем просмотр кинофильмов или сериалов.
прокачивать свой английский на основе прослушивания песен <...> - лучше не делайте этого.
Ну наконец-то хотя бы еще один выражает схожее с моим мнение. Помнится, учителя одной школы советовали, и говорящие головы другой популярной обучающей платформы, нет-нет, да и посоветуют тоже слушать любимые песни и смотреть любимые сериалы. И в качестве "хорошего" примера предлагают сериал "Друзья". А я его и в переводе-то смотреть не хочу - у каждого свои фломастеры.
Нет. Не выругается и не завершится с ошибкой. Единственное, что я поправил бы в своем предыдущем ответе - переписать в виде ${var:+$var:} - выполнить подстановку, если переменная существует и не пустая строка (в отличие от первого варианта, который подразумевает только проверку на существование переменной).
А еще есть historical present, "историческое настоящее". Это когда
Послала мама Красную Шапочку в лес к бабушке. Шла девочка по лесу, цветочки собирала, да песенки пела. А тут вдруг из-за кустов появляется волк и говорит...
Я тут еще немного поупражнялся: улучшил команды, так чтобы одинаковый набор и без цикла для второй переменной:
для ETCD_SERVERS:
seq 0 $(( MASTER_COUNT-1 )) \
| awk -v fmt="https://master-%s.$BASE_CLUSTER_DOMAIN:$ETCD_SERVER_PORT" \
'{ s && s = s "," ; s = s sprintf(fmt, $0) } END { print s }'
для ETCD_INITIAL_CLUSTER:
seq 0 $(( MASTER_COUNT-1 )) \
| awk -v fmt="master-%s.$BASE_CLUSTER_DOMAIN=https://master-%s.$BASE_CLUSTER_DOMAIN:$ETCD_PEER_PORT" \
'{ s && s = s "," ; s = s sprintf(fmt, $0, $0) } END { print s }'
Что-то как-то очень сложно переменную ETCD_SERVERS создаете: первый sed безполезный, а еще и двойной echo (первый - в цикле в субшелле, потом внешний). Попробуйте вот это - у него приятный вкус:
Вот еще один деликатес - для ETCD_INITIAL_CLUSTER:
for n in $( seq 0 $(( MASTER_COUNT-1 )) )
do
n="$n.$BASE_CLUSTER_DOMAIN"
printf ",master-%s=https://master-%s:$ETCD_PEER_PORT" $n $n
done \
| sed 's/,//'
Думается мне - кровушки попили они с вас, пока не пришли к нужному виду.
Биом, обитающий внутри нас - штука приобретаемая нами после рождения: мы не рождаемся с ним, он попадает в нас позже. Как биом эволюционирует и где он выживает до того как в нас попасть?
Вспомнилось давно читанное в юности: Михаил Анчаров, Самшитовый лес.
Небольшая цитата оттуда:
- Барбарисов, это ты? - раздался на всю комнату жизнерадостный голос Сапожникова. - Это я, Сапожников, узнал?
- Боже мой, - сказал Барбарисов. - Узнал, узнал, мы только что о тебе говорили.
- Я почувствовал. Барбарисов, не сердись, но у тебя должен находиться некий Аркадий Максимович, тайный атлантолог.
- Кто? - спросил Барбарисов, потом вдруг смекнул, о ком речь, и ошалело уставился на Аркадия Максимовича. - Слушай, а ты не с того света?
- Нет. Я из пионерлагеря... Давай зови его. Или нет, не зови. Передай ему, что я у Дунаевых. Он знает. Слушай, кстати, я, кажется, действительно решил теорему Ферма! Не смейся, идиотски простым способом. Слушай, скажи всем заинтересованным, что если я действительно ее решил, то ее надо немедленно у меня украсть. Говорят, за решение дают Нобелевскую премию. Глупо, если она достанется дикому Сапожникову, а не кому-то организованному, в крайнем случае тебе...
С одной стороны как-то сложно и запутанно, и автор сам это отмечает. С другой стороны - подобные фичи в том или ином объеме представлены в других языках, например, Perl и его последователях.
Вот еще... Целая игровая площадка с разными песочницами
https://onecompiler.com
Это на простейших примерах. А вот V + W = Г (2 + 4 = 6, записанное с помощью более-менее похожих символов). И здесь надо учитывать "внутренний перенос разряда" при переходе между 4 и 5.
Наверно, при сложении 5 вертикальных преобразовать в 1 горизонтальную. Как в подобных случаях с другими операциями еще не сообразил.
А вот, например, как 3 + 18 = 21? Наверно, дело привычки. 6 вертикальных это 1 горизонтальная и 1 вертикальная, получается 4 горизонтальных и 1 вертикальная. А 4 горизонтальных это 1 вертикальная рядом (новый разряд).
Ну наконец-то хотя бы еще один выражает схожее с моим мнение. Помнится, учителя одной школы советовали, и говорящие головы другой популярной обучающей платформы, нет-нет, да и посоветуют тоже слушать любимые песни и смотреть любимые сериалы. И в качестве "хорошего" примера предлагают сериал "Друзья". А я его и в переводе-то смотреть не хочу - у каждого свои фломастеры.
На самом деле, рекомендуют, все-таки,
[ foo ] || [ bar ]
вместо[ foo -o bar ]
.Например, http://www.oilshell.org/blog/2017/08/31.html
Нет. Не выругается и не завершится с ошибкой. Единственное, что я поправил бы в своем предыдущем ответе - переписать в виде
${var:+$var:}
- выполнить подстановку, если переменная существует и не пустая строка (в отличие от первого варианта, который подразумевает только проверку на существование переменной).Глубоко не всматривался, но сразу бросилось в газа - красивые, строго структурированные строки.
Можно заменить строки вида
на следующую
А еще есть historical present, "историческое настоящее". Это когда
Послала мама Красную Шапочку в лес к бабушке. Шла девочка по лесу, цветочки собирала, да песенки пела. А тут вдруг из-за кустов появляется волк и говорит...
Берите все сейчас, а то еще накидаю вариантов на чистом шелле, без внешних команд )))
Я тут еще немного поупражнялся: улучшил команды, так чтобы одинаковый набор и без цикла для второй переменной:
для
ETCD_SERVERS
:для
ETCD_INITIAL_CLUSTER
:Можно было бы еще, но я думаю - хватит.
Что-то как-то очень сложно переменную
ETCD_SERVERS
создаете: первый sed безполезный, а еще и двойной echo (первый - в цикле в субшелле, потом внешний). Попробуйте вот это - у него приятный вкус:Вот еще один деликатес - для
ETCD_INITIAL_CLUSTER
:Думается мне - кровушки попили они с вас, пока не пришли к нужному виду.
Биом, обитающий внутри нас - штука приобретаемая нами после рождения: мы не рождаемся с ним, он попадает в нас позже. Как биом эволюционирует и где он выживает до того как в нас попасть?
В скрипте опечатка в имени переменной:
SourcekDir
(одно объявление и одно использование). В тексте статьи упоминается верно:SourceDir
.На кдпв переполнение стека будет.
Правила 2 и 3 сомнительны
lg(19) = 1.3
lg(42) = 1.6
lg(45) = 1.7
Вспомнилось давно читанное в юности: Михаил Анчаров, Самшитовый лес.
Небольшая цитата оттуда:
Еще ссылка в копилку:
https://www.lifewire.com/windows-version-numbers-2625171
Код выше можно сократить до
$ echo "Welcome To The Geek Stuff" | sed 's/\b[A-Z]/(&)/g'
Еще примеры
показать только первую и последнюю строки (комбинация
head -1
/tail -1
)sed -n '1p;$p'
Объединить все строки (аналог
paste -sd ' '
)sed ":a;N;s/\n/ /;ta"
Объединить строки попарно
sed "N;s/\n/ /"
Своп каждой пары строк
sed -n '$p;h;n;G;p'
Сравнить две строки и вывести общий совпадающий фрагмент (начало строк)
sed -n 'N;s/\(.*\).*\n\1.*/\1/p'
Странно, что очень редко сравнивают BPMN и блок-схемы. А первый если и не вырос из второго, но очень близок по сути.
С одной стороны как-то сложно и запутанно, и автор сам это отмечает. С другой стороны - подобные фичи в том или ином объеме представлены в других языках, например, Perl и его последователях.
В win10 в этом необходимости уже нет.