加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用花括号是否违背“Ruby方式”?

发布时间:2020-12-17 04:35:20 所属栏目:百科 来源:网络整理
导读:我已经使用 Ruby大约两个星期了,而且我的编程时间太长了,但是我从C风格的背景(C,C#等)开始学习语言.无论如何 – 我的一个好朋友和导师正在看着我前几天写过的一些Ruby,他告诉我,如果他再次使用Ruby中的花括号来抓我,他会打我. 好吧,我刚刚通过this About.com
我已经使用 Ruby大约两个星期了,而且我的编程时间太长了,但是我从C风格的背景(C,C#等)开始学习语言.无论如何 – 我的一个好朋友和导师正在看着我前几天写过的一些Ruby,他告诉我,如果他再次使用Ruby中的花括号来抓我,他会打我.

好吧,我刚刚通过this About.com article找到了关于Builder的内容,并且他们发布的示例使用了大括号.有没有不同的方法来做到这一点,还是你必须使用Builder的花括号?

这似乎是一个小问题,但我是Ruby的新手,我不想让自己养成任何坏习惯.你们有什么感想?

解决方法

虽然有些人选择“支持单行,支持多行”,我个人认为以下规则最合乎逻辑:

>当你的块有副作用时(通常使用每种方法和相关方法)和使用do-end
>当你的块没有副作用时使用大括号(地图,注入和类似)

这个逻辑很适合Matt写的方法链问题.

这种方法的一个好处是,它会让你在每次编写块时都考虑副作用,并且它们非常重要,尽管有时会被没有函数编程背景的编码器忽略.

如果不涉及副作用术语,另外一种方法是:

>对执行的块使用do-end
>对返回的块使用{和}

这里有几篇文章有更多信息:

http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc

http://talklikeaduck.denhaven2.com/2007/10/02/ruby-blocks-do-or-brace

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读