Chỉ cần loại bỏ các ngắt dòng:
cats.each do |cat| cat.name end
Lưu ý, có hai kiểu mã hóa khác nhau khi nói đến để chặn. Một phong cách mã hóa nói với luôn sử dụng do
/end
cho các khối mà span nhiều dòng và luôn sử dụng {
/}
cho các khối dòng đơn. Nếu bạn làm theo trường đó, bạn nên viết
cats.each {|cat| cat.name }
Phong cách khác là để luôn sử dụng do
/end
cho các khối mà chủ yếu được thực hiện đối với tác dụng phụ của họ và {
/}
cho các khối mà chủ yếu được thực hiện cho giá trị trả lại của chúng. Kể từ khi each
ném đi giá trị trả về của khối, nó chỉ có ý nghĩa để vượt qua một khối cho các tác dụng phụ của nó, vì vậy, nếu bạn theo trường đó, bạn nên viết nó với do
/end
.
Nhưng khi @tokland đề cập, cách thành ngữ hơn sẽ được để viết
cats.each(&:name)
Nguồn
2012-06-12 09:24:30
Thử mèo này.đọc {| cat | cat.name} –