Me pregunto si hay alguna buena razón o incluso una ventaja al tener que invocar Proc
s usando proc.call(args)
en Ruby, lo que hace que la sintaxis de la función de orden superior sea mucho más detallada y menos intuitiva.¿Por qué Ruby requiere .call para la invocación de Proc?
¿Por qué no solo proc(args)
? ¿Por qué hacer una distinción entre funciones, lambdas y bloques? Básicamente, es todo lo mismo, ¿por qué esta sintaxis confusa? ¿O hay algún punto para el que no me doy cuenta?
Expandir: en Ruby, los paréntesis para las llamadas a métodos son opcionales, por lo que el intérprete no puede distinguir entre 'proc', o simplemente pasar el cierre, y' proc' como sinónimo de 'proc()' . – mipadi
Lo que dijo :) – Telemachus