Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…
Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom
CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.
UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.
Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.
* a nakonec o topic proměnné $_ a jejím nepsání.
-> $a, @b, :$x, :$y, *@positional, *%named { dd $a, $b, $x, $y, @positional, %named }
kde $a, @b jsou poziční parametry a @positional je slurp pole ostatních pozičních parametrů a podobně $x, $y jsou jmenné parametry a %named je slurp hash ostatních jmených parametrů.
Tento blok můžeme definovat, ale i pomocí zástupných proměnných
{ dd $^a, @^b, $:x, $:y, @_, %_ }
#
u pozičních parametrů záleží na lexikografickém uspořádání.
Ukažme několik příkladů:
{ dd ($^a, @^b, $:x, $:y, @_, %_) }(
1, (2, 3), 4, :32x, :12z, :1y
); #(1, (2, 3), 32, 1, [4], {:z(12)})
say (^5)».&{ $^a + 1 }; #(1 2 3 4 5) — voláme podpogram jako metodu, pamatujete první kapitolu
say (^5).map: { $^a + 1 }; #(1 2 3 4 5) — přibližně totéž co výše
for (^6) { #0 2 1
say "$^a $^c $^b"; #3 5 4
};
for (<a b c> Z ^3+1).flat { #(1 a)
say ($^number, $^letter) #(2 b) — number je lexikograficky větší než letter
}; #(3 c)
Všimněte si jak for předá počet hodnot, podle toho kolik je v bloku zástupných (pozičních) parametrů.
**.
Příklady:
say ( *.chars + * )("ahoj", 2); #6
my &multiply_three_numbers = * * * * *; #1. 3. a 5. * jsou parametry
say multiply_three_numbers 2, 3, 2; #12 #2. a 4. * je binární operátor násobení
say (^5)».&( * + 1 ); #(1 2 3 4 5) — kulaté závorky místo hranatých
say (^5).map: * + 1 ; #(1 2 3 4 5) — zápis map bez závorek
say (^5).&( ** + 1 ); #(1 2 3 4 5) — ** je tzv. hyperwhatever
Hvězdičku můžeme použít jako zástupný znak i v jiných případech, většinou když chceme něco bez omezení nebo ve významu co možná nejvíc.
Některé příklady využití whatever:
my @matrix = ( (1, 2, 3), ('a', 'b', 'c'), ('x', 'y', 'z') );
say @matrix[*]; #((1 2 3) (a b c) (x y z))
say @matrix[*-1;*]; #(x y z) — poslední řádek
say @matrix[*;2]; #(3 c z) — druhý sloupec
my @e=@matrix[*;*];
say @e[*]; #(1 2 3 a b c x y z)
say @e[2 .. *]; #(3 a b c x y z)
say @e[0 .. *-4]; #(1 2 3 a b c)
say @e.pick(*); #(3 x c y a z 1 b 2) — náhodné pořadí
for 21 .. * Z~ '×' xx * Z~ @e { #27×x
say $^a if $^a ~~ '27×x' ff *; #28×y
} #29×z
$_$_. Topic proměnná je zapisovatelná. Používají ji různé příkazy a často není potřeba ani psát. Především pro každou metodu jde zapsat .metoda jako zkrácený zápis pro $_.metoda, for a given nastavují $_. Topic proměnnou lze použít jako zástupnou proměnou v bloku. when porovnává s touto proměnou, s/// resp. m// implicitně nahrazuje resp. hledá v této proměnné atd. Raději místo dalšího vypisování uvedu pár příkladů:
$_="ahoj";
say .chars;
say ( $OUTER::_, $_ for ^2 ); #((ahoj 0) (ahoj 1)) — tady nelze použít $^a před for není blok
s/aho/čau /;
.say; #čau j
my ( $a, $b, $c ) = 0, 1, 2;
for $a, $b, $c { #0
say .++; #1
}; #2
say "$a $b $c"; #1 2 3
my @a = < abba kolo oko vede >;
say grep { True when .flip }, @a; #(abba oko)
for 21 .. * Z~ '×' xx * Z~ @e { #27×x — srovnejte s předešlou kapitolou
.say if '27×x' ff *; #28×y
} #29×z
my @b = < ahoj jak se vede >;
say @b.first({ .=chop; .chars > 2 }); #s
say @b; #[aho ja s vede]
Tiskni
Sdílej:
vyjádřili přímo v tomto vlákněTo by platilo tak pred rokmi, dnes musíš ľudí dokopať, aby mali jednoduchú možnosť voľby :) Je pravda, že aj ja som migroval kvôli jednoduchosti na PHP, pretože to fungovalo Out of the box a ostatné jazyky mali úplne kulové, teda jediné naozaj použiteľné boli len Perl, PHP a mne ostatné jazyky prídu aj dnes viac náročné na spojazdnenie a správnu konfiguráciu.
my &multiply_three_numbers = * * * * *; dava uplne nove moznosti pro opravdu poradne obfuscovany kod. Nechapu, kdo mohl neco takoveho vymyslet. Funkcionalita to je zajimava, ale mohli pouzit aspon nejaky jiny znak.
* opatrně, &multiply_three_numbers jsem uvedl jako zajímavost. Někde mi, především u jednoduchých map, grep, … , připadá ten zápis přirozený .grep: * > 3;, .sort: *.chars; atd. A nebál bych se ani čitelnosti u něčeho takového .map: * * 1.328;.
for 21 .. * Z~ '×' xx * Z~ @e { #27×x
say $^a if $^a ~~ '27×x' ff *; #28×y
}