C#:方法級聯和C#
var articles = Article
.OrderBy(x=> x.Name)
.Where(x=> x.Name.Contains(pattern))
.Select(x=>new {x.Name + " (article)"})
.ToList();
這是很好寫這樣在C#中,這就是所謂 「串聯方式」。事實上,我不記得他們是怎麼叫的,我在Jon Skeet的書中讀到了它。這個想法是,每個方法都在一個新的線上,這在C#中是正常的。
Ruby呢?這是正常寫:
articles = Article
.order(:name)
.where("name like ?","%#{pattern}%")
.map(&:name)
.map {|c| c << " (article)"}
我相信這個術語是:流暢的接口(或方法鏈接)。 '''''''''''''''''' - 我認爲這不是它的要點,但我同意在格式化時它更具可讀性:) –
我總是這樣做以提高可讀性。可讀性通常是常規的。 –