Portál AbcLinuxu, 6. prosince 2025 00:02
K rozšiřujícím patterns as a when přibyl ještě unless. Má opačný význam k when.
Fůůůůj :(
, je použito jako pattern: např. [ a, b ] as c. Toto je standardně přítomno i v OCaml/F#, ze kterého Vortex pattern matching v podstatě bere
Většina těch, které jsi zmínil, nedávají smysl, takže..
zas tolik jich momentálně není - v podstatě and as break case cfn clone coro cycle do else enum false fn for glob goto if in let match module new nil not or quote rec redo result return seq true unless unquote when while with yield __FILE__ __LINE__ a bit operátory band bor bxor bnot asr bsr bsl, některá ještě nejsou využita (module - moduly, cfn - generátory, coro - korutiny) a další momentálně přidávat neplánuju.
coalesce() z SQL? Má libovolný počet parametrů a vrací první nenulovou hodnotu. Není to tak úplně funkce/metoda a je potřeba ji řešit pomocí nestandardních prostředků (klíčové slovo, nebo něco, co jen vypadá jako funkce). Její výhoda je v tom, že po nalezení nenulové hodnoty se ty další výrazy už nemusí vyhodnocovat.
No nevím, ale myslím, že tady by stačil operátor or, např.
let x = a or b or c or d or e or f
vyhodnotí se a, pokud není nil, přiřadí se, dál už to nejde; pokud je nil, vyhodnotí se b, apod. nevýhodou je, že nefunguje na hodnotách false, to by se dalo možná udělat ještě jinak:
let x = a unless a == nil else b unless b == nil else c unless c == nil else d .....
Jen by mi přišlo přehlednější:
x = a || b || c …Boolean by to chtělo objektový – proměnná pak může nabývat tří hodnot:
true, false, null.
editor ti dá vysvícení syntaxe a pak není s přehledností problém. Použití klíčových slov má výhodu v tom, že i člověk neznalý jazyka může hned vidět, co to znamená. Některé části kódu se pak čtou skoro jako angličtina, což je výhoda.
Použití klíčových slov má výhodu v tom, že i člověk neznalý jazyka může hned vidět, co to znamená. Některé části kódu se pak čtou skoro jako angličtina, což je výhoda.
Řekl Cobolista, a prezentoval jako výhodu Cobolu, to že chudák Fortranista musí luštit a = b + c, zatímco on má pěkné anglické ADD b,c GIVING A. Kupodivu později se i v tom Cobolu objevila možnost použít ono a=b+c.
Práce s ukecaným jazykem je utrpení. Problém je v tom, že někdo abstrahuje problém, řeší ho v nějaké vnitřní kondenzované formě, a místo aby pak tohle kondenzované řešení zapsal, tak napíše román, který sice připomíná angličtinu, ale dostat z něj jádro problému, je dost oser.
Aneb neopakujte historické chyby.
perl -ne 'print "chro chro\n" if /jsem prase/'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.