Zkratka v Ruby pro první argument

donsi

Zkratka v Ruby pro první argument
« kdy: 18. 08. 2017, 00:45:26 »
nebaví mě v ruby psát [].map{|x| x.bytes}, místo toho bych chtěl napsat [].map { %.bytes}. případně [1,2,3].reduce { _1 + _2}  (pro součet prvků např),  myšlenka je zbavit se otravné deklarace proměnných v blocích (i funkcích, ale tam je striktní kontrola předpisu funkce, tak to by asi bylo problematické), protože často se používají bloky, které berou jeden parametr. Navíc bloky nelpí na počtu parametrů, takže kdyby nějaký frikulín použil _88 (parametr.číslo 88), dostal by nil a nic by se nestalo.  Proměnné by samozřejmě měly jen scope uvnitř bloku.

Jde v ruby něco takovéhlo ho naprogramovat? Nebo už to umí?  Jak se tomuhle říká? Podlemě to v jisté míře umí bash ($1) a tuším že Perl.
« Poslední změna: 18. 08. 2017, 10:12:59 od Petr Krčmář »


ttt

Re:zkratka v ruby pro první argument
« Odpověď #1 kdy: 18. 08. 2017, 01:14:08 »
[].map{|x| x.bytes} se dá zapsat jako [].map(&:bytes). Magická proměnná jako v perlu neexistuje a myslím si, že to ani doprogramova t nepůjde.