Bunu yapacak birkaç kod satırı oluşturabilirim ama bunu yapmayı güzel ve temiz bir Rubyesque yönteminin olup olmadığını merak ediyorum. Açık olmadığım takdirde, aradığım şey, [3,3,3,3,3]
veya ["rabbits","rabbits","rabbits"]
(true) verildiği halde true değerine dönecek ancak [1,2,3,4,5]
veya ["rabbits","rabbits","hares"]
ile false döndürecek bir dizi yöntemidir.Dizideki tüm öğelerin aynı olup olmadığını nasıl sınayabilirim?
Teşekkür
Bu oldukça zarif. Ben sadece .uniq.length == 1 kodunu, yaptığınız gibi değil doğrudan kodumda kullanabilirim (sadece bir kez kullanıyorum, böylece DRY'yi koruyorum). Yerleşik bir .same_values varsa güzel olur mu? yöntem. Benim kodumdaki boş dizi durumu hakkında endişelenmenize gerek yok, a) durumumda ortaya çıkmamalı ve b) eğer yanlışsa, geri dönmesini istemedim. Teşekkürler. – brad
'uniq'' hash' ve 'eql'' kullandığını ve' ==' değil, istediğiniz ya da olmayabilir. –
Biri elbette bunu self.flatten.uniq.lenth == 1 –