Ruby block and unparenthesized arguments

两盒软妹~` 提交于 2019-11-26 05:26:48

It's because you're calling

pp x.map

and passing a block to pp (which ignores it)

As explained in the Programming Ruby book

Braces have a high precedence; do has a low precedence

So, effectively, braces tie to the function call closest to them (x.map) whereas do binds to the furthest away (pp). That's a bit simplistic but it should explain this situation

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!