Перейти к основному содержанию

Новости

Последние сообщения

1
Политика / Re: #Путин_наш_Президент?
Последний ответ от inter 😎 -
Цитата
Россия откажется от крупнейших атомных подлодок

Бывший командующий Черноморским флотом Владимир Комоедов назвал утилизацию «Акул» варварством. По его словам, лодки можно было бы модернизировать под «Булаву» или современные крылатые ракеты. Далее: https://news.rambler.ru/weapon/38929871/?utm_content=rnews&utm_medium=read_more&utm_source=copylink
2
Обо всём на свете / Re: О спорте
Последний ответ от inter 😎 -
Цитата
Российские легкоатлеты узнали о допинг-контроле и массово снялись с соревнований ~ link ~
Хех
3
Программирование / Re: [Perl 6] Операторы
Последний ответ от inter 😎 -
prefix
Создание своих операторов в Perl 6, часть 1
sub prefix:<§>($str) {
    $str.uc
}

say §'hello, world!'; # HELLO, WORLD!

sub prefix:<🔊>(Str $str) {
    $str.uc
}
say 🔊'hello, world!';

infix
Создание своих операторов в Perl 6, часть 2
https://docs.perl6.org/language/operators#Dotty_Infix_Precedence
sub infix:<≈>($a, $b) {
    abs($a) - abs($b) < 1
}

say 3.14 ≈ pi; # True

postfix
https://docs.perl6.org/language/operators#postfix_.
sub postfix:<!>(Int $n) {
    [*] 1..$n
}

say 5!; # 120

circumfix
sub circumfix:<¿ ?>(Str $str) {
    $str.chars
}

say ¿'Hello, World!'?;
# 13

postcircumfix
Method Postfix Precedence
Создание своих операторов в Perl 6, часть 3
sub postcircumfix:<¿ ?>(Str $question, Str $answer) {
    say "Q: $question";
    say "A: $answer";
}

"Hello"¿"World"?;

# Q: Hello
# A: World
4
Обо всём на свете / Re: С праздничком (Пётр и Февронья)
Последний ответ от inter 😎 -
https://www.youtube.com/watch?v=O2HIND7twRk

Попы устали? #Неудобные вопросы духовной жизни. Выпуск 02
5
Обо всём на свете / Re: С праздничком (Пётр и Февронья)
Последний ответ от inter 😎 -
отсюда

Анх - Древнеегипетский крест. Символ жизни.

Латинский крест - "До Иисуса таким символом обозначался, кроме всего прочего, посох Аполлона -- бога солнца, сына Зевса.
С четвёртого века нашей эры латинский крест стал тем, с чем он ассоциируется сейчас -- символом христианства. Сегодня он также ассоциируется со смертью, виной (нести крест), кроме того -- с воскрешением, возрождением, спасением и вечной жизнью (после смерти)."
6
Программирование / Re: [Perl 6] Examples / Примеры
Последний ответ от inter 😎 -
Задачка. 🧐

Отсюда

Дано:
my @prefixes = 'A'..'E';
my @suffixes = 'a'..'e';
my @roots = 1, 2;

Нужно получить из этих 3-x массивов вот такой массив:
[A1a B1b C1c D1d E1e A2a B2b C2c D2d E2e]

одно из самых красивых решений

другие решения
7
Программирование / [Perl 6] for
Последний ответ от inter 😎 -
Цикл for.

Ссылки по теме:
Цикл for в Perl 6
https://docs.perl6.org/language/control#for
https://perl6advent.wordpress.com/2009/12/07/day-7-looping-for-fun-and-profit/

Примеры:
Обход массива
my @a = <alpha beta gamma delta>;
for @a {
    say $_;
}
то же самое:
.say for @a;
то же самое:
for @a -> $x {
    say $x;
}

Вывод сразу двух элементов на ряд:
for @a -> $x, $y {
    say "$x $y";
}

Объединение двух массивов:
for @array1 Z @array2 -> $one, $two { say $one, ' ', $two; }
Массивов может быть много:
for @one Z @two Z @three Z @four -> $one, $two, $three, $four {
    say $one, ' ', $two, ' ', $three, ' ', $four;
}

Обход с индексом шага. Вам нужна функция enumerate из Python 3? Делайте так:
for ^Inf Z @array -> $index, $item { say $index, ' ', $item; }
Или добавляйте индекс вот так:
for ^@array.elems Z @array -> $index, $item { say $index, ' ', $item; }
То же самое (элегантное решение):
for @array.kv -> $index, $item { say $index, ' ', $item; }

Обход хеша:
my %h = alpha => 'a', beta => 'b', 
        gamma => 'c', delta => 'd';

for %h.kv -> $greek, $latin {
    say "$greek=$latin";
}

С проверкой типа:
for 1..5 -> Int $i {
    say $i;
}

С "распаковкой аргумента"
my @itemlist = (
    { book => {author => 'Пушкин А. С.', title => 'Сказка о попе и ...'}, count => 1, tags => <Поп Балда попадья черти> },
    { book => {author => 'Гоголь Н. В.', title => 'Ночь перед ...'}, count => 1, tags => <Вакула Солоха Дьяк Чёрт> },
);

for @itemlist -> % (:%book (Str:D :$title, Str:D :$author), Int :$count,
                    :@tags ($first-tag, *@other-tags))
{
    say "$title, $author, $count, $first-tag, @other-tags[]";
}

Loop Phasers
see: https://docs.perl6.org/language/phasers#Loop_Phasers
Если у вас будет элемент с типом, отличимым от Int, то будет ошибка. FIRST сработает в начале, NEXT при каждом шаге цикла, LAST в конце, тем, кто знает английский это легко запомнить.
my @a2 = 1..Inf;
my $s = '-' x 10;
for @a2[^5] -> Int $i {
    FIRST { say "Поехали!\n{$s}"; }
    say $i;
    NEXT { say $s; }
    LAST { say 'Полёт завершён!'; }
}

next, redo, last
for @q {
    say $_;
    # You can...
    next if $_ == 3; # Skip to the next iteration (`continue` in C-like languages).
    redo if $_ == 4; # Re-do the iteration, keeping the same topic variable (`$_`).
    last if $_ > 5; # Or break out of a loop (like `break` in C-like languages).
}

read-write
my @foo = 1..3;
for @foo <-> $_ { $_++ }
say @foo; # [2, 3, 4]

default values
my @list = 1, 2, 3, 4;
for @list -> $a, $b = 'N/A', $c = 'N/A' {
    say "$a $b $c"
}
# 1 2 3
# 4 N/A N/A
8
Политика / Re: #Путин_наш_Президент?
Последний ответ от inter 😎 -
Образование

Результаты ЕГЭ шокировали учителей
9
Программирование / Re: [Perl 6] Examples / Примеры
Последний ответ от inter 😎 -
Perl 6 vs Python 3

Задача: через каждые 4 символа строки вставить символ тире

Perl 6
say 'abcdefghijk'.comb(4).join('-');

Python 3
s, a, step = ('abcdefghijk', [], 4)
for i in range(0, len(s), step): a.append(s[i:i+step])
print('-'.join(a))
10
Политика / Re: Пиндосы
Последний ответ от testuser -
Цитата
Январь 1951 года, американские бомбардировщики обрушили 700 тонн авиабомб на Пхеньян, уничтожив 7800 домов, школ, фабрик, админзданий и больниц.