При программировании ruby я всегда обнаруживаю, что занимаюсь этим:
a = [a, b].min
Это означает сравнение a
и b
и сохранение наименьшего значения в a
. Мне не нравится писать код выше, так как я должен написать a
дважды.
Я знаю, что на некоторых нестандартных диалектах C ++ был оператор, который делал именно это
a <?= b
Что я считаю очень удобным. Но я не очень заинтересован в операторе так сильно, как в функции , позволяющей избежать повторения . Я также был бы счастлив, если бы я мог написать
a.keep_max(b)
a
может быть довольно длинной переменной, например my_array[indice1][indice2]
, и вы не хотите писать это дважды.
Я много гуглил по этому вопросу и не нашел результата, надеюсь, этот вопрос всплывет и будет полезен другим.
Итак, есть ли какой-нибудь неповторяющийся способ выразить то, что я хочу, в рубине?