¿Hay un atajo en Ruby para recibir una lambda que simplemente devuelve su argumento?
Estoy tratando de tener la siguiente función:
def some_method(x, y, decorator = ->(x) { x }) … endReescrito para parecerse de alguna manera
def some_method(x, y, decorator = method(:itself)) … end ¿Tal vez hay una manera de cambiar el receptor con Object#itself ?
Probablemente hayas visto código como este muchas veces en Ruby:
array.map(&:upcase) Bueno, ¿qué significa realmente &:upcase ? En realidad está llamando a Symbol#to_proc .
Por lo tanto, podría optar por definir el método de la siguiente manera:
def some_method(x, y, decorator = :itself.to_proc) # ... end