Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.
Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.
Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.
MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).
Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.
*
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. hyperwhateverHvě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 }