Nie,
start_with
pobiera ciąg lub regex.
Uświadomiłem sobie, że irytujące jest stale rozszerzające się wyrażenie.
Do odkryłem byłem totally wrong as per @falsetru, bym to zrobił tak:
%w[Bronze Silver Gold].any? { |s| name.start_with? s }
bym umieścić tablicę słów do zmiennej lub stałej (lub metody, jak sądzę), choć.
Następnie umieściłbym logikę w metodzie, niezależnie od tego, jaka jest właściwość name
, której nazwa zależy od kontekstu. To sprawia, że jest to trywialnie testowalne, rozszerzalne i hermetyzowane.
def precious_metal?
self.name.starts_with? precious_metals
end
...
if precious_metal?
# Some logic
end
Nie miałem pojęcia, i podobno tak było, ponieważ powinienem wiedzieć lepiej! –
doskonały, nigdy tego nie próbowałem! –