Это самое близкое, что я нашел, но оно имеет дело с логическими значениями вместо чисел:
DRY up Ruby ternary
Я пытаюсь избежать сценария деления на 0 в Ruby, сохраняя при этом код короче и проще для чтения.
Я хочу сделать следующий фрагмент кода более кратким:
number_to_percentage ((percent_complete.nan? ? 0 : (percent_complete * 100)), :precision => 0)
или
number_to_percentage ((percent_complete.nan? ? 0 : percent_complete) * 100, :precision => 0)
Просто сейчас кажется, что это действительно трудно читать. Здесь задействовано больше цепочек, поэтому percent_complete
на самом деле немного длиннее. Я также возвращаю это значение из метода, поэтому оно снова становится длиннее.
Я бы хотел избежать использования временных переменных или сокращения имен методов, поэтому надеялся узнать о другом способе.
Если я смогу избежать необходимости дважды вводить «процентов_компонента", то это в значительной степени решает ее.