Есть ли более короткий/более элегантный способ переформулировать это выражение, достигнув того же результата?Самый короткий способ получить последний день предыдущего месяца с Ruby
Date.today.last_month.end_of_month
Есть ли более короткий/более элегантный способ переформулировать это выражение, достигнув того же результата?Самый короткий способ получить последний день предыдущего месяца с Ruby
Date.today.last_month.end_of_month
Вы хотите в конце месяца. За какой месяц? Последний. Последнее в отношении чего? Cегодня.
Итак, вы указали именно то, что ищете, и получили его. Что в этом нелепо?
Если вы хотите короче:
def end_of_last_month
Date.today.last_month.end_of_month
end
Вы можете передать базовую дату в качестве аргумента со значением по умолчанию 'Date.today' (или' Date.current'). – Stefan
Тот, который вы уже написали короткий и достаточно элегантный еще вы можете попробовать эти
Date.today - Date.today.day
или даже сокращенный вариант будет использовать переменную ограничить слова, которые вы можете попробовать:
(a=Date.today) - a.day
Надеется, что это помогает
Я думаю, что это хорошо, но оригинальное утверждение лучше читать и понимать. –
да, вы правы – Mayank
Не совсем ... вы также можете попробовать 'Date.today.beginning_of_month - 1.day', но это не красивее. –