日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DHH观点:为什么我偏爱Ruby?

發(fā)布時間:2024/10/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DHH观点:为什么我偏爱Ruby? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DHH觀點:為什么我偏愛Ruby?

David Heinemeier Hansson(DHH)在RailsConf 2006的Keynote Address中討論Rails具有各種conventions時,提到這樣的觀點,即任何一種paradigm都不是萬能的,任何paradigm都會有例外情況,例外情況就須要例外處理;Rails在提倡其conventions的同時,仍然允許我們避開conventions,采用更原始的辦法來處理同樣的事情。Rails正是這種既具有明顯conventions又允許例外情況的優(yōu)秀語言。對此,DHH說如是:

..And that's why I personally love Ruby. Ruby has strong opinions of how you should do things, but it allows you to do basically everything if you really, really want to. A private method, it is only private until you call, well, .send(), simple for the method name. You can circumvent these things because sometimes it's DAMN useful to be able to circumvent these things, and you know the trade-offs -- you know that this special piece of code is being written in special way because it needs special consideration, it's not like the rest, and I should consider carefully the tradeoff I'm making.

……這也是我個人偏愛Ruby的原因:對于“你應該如何做事情”,Ruby持有強烈的觀點,但在你真的非常非常想繞開conventions做事情的時候,Ruby也允許你做幾乎所有事情。比如,private方法是私有的,但若你使用.send()進行調用,這種私有性就失效了。在Ruby中你可以繞開規(guī)則,因為有時候繞開規(guī)則真的非常受用,而且你在Ruby中繞開規(guī)則時,你會非常清楚其涉及到的利弊權衡與折中——你知道,對這一段特別的代碼需要作特殊考慮,它是以特殊的方式寫就的,它與慣常用法不同,你應該仔細考慮你所做的利弊權衡與折中。

# 有時候繞開規(guī)則真的非常受用
class Klass
? private
?? ?def hello(*args)
?? ??? ?puts "Hello " + args.join(' ')
?? ?end
end

k = Klass.new

# 使用 .send() 方法繞開private訪問控制規(guī)則
k.send :hello, "gentle", "readers"

# 按慣常方式會受到訪問控制規(guī)則的制約:
k.hello("gentle", "readers")
# Klass.rb:10: private method `hello' called for #<Klass:0x2b4b2dc> (NoMethodError)


轉載于:https://www.cnblogs.com/kingofark/archive/2006/12/13/591118.html

總結

以上是生活随笔為你收集整理的DHH观点:为什么我偏爱Ruby?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。