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)"}
我相信这个术语是:流畅的接口(或方法链接)。 '''''''''''''''''' - 我认为这不是它的要点,但我同意在格式化时它更具可读性:) –
我总是这样做以提高可读性。可读性通常是常规的。 –