数组 – 为什么Dir.glob(“* .txt”).sort也需要.each?
Dir.glob(“*.txt”){| f | p f}打印文件名.
Dir.glob(“*.txt”).sort {| f | p f}因ArgumentError而失败. Dir.glob(“*.txt”).sort.each {| f | p f}按字母顺序打印文件名. 为什么第二个失败?更好的是,为什么第一个工作,有或没有.each? > Dir.glob和Dir.glob.sort都是数组. (灵感来自Alphabetize results of Dir.glob.不是Dir.glob with sort issue的副本,因为“第三个”已经回答了那个人的问题.) 解决方法
另一个答案是正确的,但我认为有更深层次的解释.在方法调用之后有一个块,比如Dir.glob(“* .txt”){| f | p f},该块是该方法的(可选)参数.在Dir.glob的定义中,有一个运行块的yield语句.
链接方法时,如Dir.glob(“* .txt”).sort {| f | p f},该块成为sort方法的参数,而不是glob方法. sort也可以用一个块来定义一个比较,但是这个块在那个上下文中没有意义. 链接每个得到Dir.glob(“* .txt”).sort.each {| f | p f}使块成为每个方法的参数,它像glob一样使用它(为每个参数运行块). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 使用ASP.NET MVC导出PDF文件
- webpack – 如何在使用react-hot-loader软件包时自动删除*
- typescript – dt~ react-router error TS2503:找不到命名
- 初识React中的High Order Component
- c – Qt – 如何在QVBoxLayout中放置具有左右边距的QTextEd
- Flash动画课堂教学的问题及改进措施
- windows7 64位下git和tortoisegit的安装和使用
- 学习AJAX (三) (UpdatePanel 客户端)
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- Flex程序启动时initialize、creationComplete、application