我设计了Ruby以减少我的意外。我希望尽量减少编程期间的挫败感,因此我希望尽量减少编程工作。
但有时我们会在红宝石练习中感到惊讶。
作为红宝石的初学者,我找到了一些例子:
Thread.abort_on_exception = true
或不要忘记加入所有线程。BasicSocket.do_not_reverse_lookup = true
为长期延迟不要惊讶split(regexp)
不要在字符串末尾拆分空字段,执行split(regexp,-1)
拆分所有字符串string.trim
未知,请使用sting.strip
(对于旧的tcl dev ...)你有其他案例可以改善我的红宝石习惯吗? 谢谢。
答案 0 :(得分:3)
Ruby的设计语言与Ruby 库的设计不同(它们似乎主要用作示例)。 Matz围绕最小惊喜的原则设计了语言,但不是每个库(甚至是Ruby标准库中的模块)都是这样设计的。 (请记住,Matz本人并没有编写每个Ruby库,甚至整个Ruby标准库。)
答案 1 :(得分:2)
温和的说明,我认为你过度扩展了最不惊讶的想法。对我而言,你正在扩展Matz的最小惊喜,因为他的最不惊讶的想法包括你的最少惊喜的想法。请记住,令您惊讶的是,如果它按照您认为应该的方式工作,可能会让他们感到惊讶。所有这一切,说出你认为它应该如何运作的意见是好的,因为我们都可以从中学习,但是说“我们得到(坏)意外”是将你的惊喜想法扩展到其他人。
就我而言,所有这些示例都让您觉得这些示例比一般情况更适合您的偏好(或应用)。