Krótki kod w tytule jest w Haskell, robi rzeczy, jakElegancko realizacji 'mapy (+1) Lista' w Ruby
list.map {|x| x + 1}
w Ruby.
Chociaż znam ten sposób, ale chcę wiedzieć, czy istnieją bardziej eleganckie sposoby na zaimplementowanie tego samego w rubinach, jak w Haskell.
Uwielbiam skrót to_proc
w Ruby, jak tego formularza:
[1,2,3,4].map(&:to_s)
[1,2,3,4].inject(&:+)
Ale to tylko zaakceptować dokładnie dopasowując numer argumentu między Proc i metody.
Próbuję znaleźć sposób, który pozwala przekazać jeden lub więcej argumentów do Proc, i bez użycia niepotrzebnego tymczasowego bloku/zmiennej, jak to, co robi pierwsza demonstracja.
chcę zrobić tak:
[1,2,3,4].map(&:+(1))
Czy ruby mają podobne sposoby, aby to zrobić?
Widziałem klejnot na drugi dzień, ale nie pamiętam, jak to się nazywało inaczej niż "X". –
@JoshLee Jeśli potrafisz przywołać klejnot, byłoby to bardzo cenne. –
Aha, widziałem to w Wiadomościach Hackera. http://news.ycombinator.com/item?id=4003805 –