Ruby'nin "uyarısı" veya düzleştirme sözdiziminden yararlanabilirsiniz.
Bu, aşırı büyümüş whenhükümler yapar - doğru anlarsam dal başına test etmek için yaklaşık 10 değeriniz var - bence biraz daha okunabilir. Ayrıca, çalışma zamanında sınamak için değerleri değiştirebilirsiniz. Örneğin:
honda = ['honda', 'acura', 'civic', 'element', 'fit', ...]
toyota = ['toyota', 'lexus', 'tercel', 'rx', 'yaris', ...]
...
if include_concept_cars
honda += ['ev-ster', 'concept c', 'concept s', ...]
...
end
case car
when *toyota
# Do something for Toyota cars
when *honda
# Do something for Honda cars
...
end
Diğer bir genel yaklaşım, her bir değerinin anahtarları carve yürütmek istediğiniz kodu çevreleyen bazı çağrılabilir nesneler olan bir karma tablosu dağıtım tablosu olarak kullanmaktır .