В Smalltalk метод min обычно используется для поиска минимального значения в коллекции. Smalltalk предоставляет несколько методов, которые можно использовать для поиска минимального значения. Вот несколько примеров:
-
мин:
Этот метод возвращает наименьший элемент в коллекции на основе естественного порядка элементов. Например:
| numbers minNumber | numbers := #(5 2 8 1 9). minNumber := numbers min. Transcript show: minNumber.Выход:
1 -
мин: и #<:
Вы также можете использовать метод #min: с аргументом блока, чтобы определить собственное сравнение. Например, чтобы найти самую короткую строку в коллекции:
| strings shortestString | strings := #('apple' 'banana' 'orange' 'kiwi'). shortestString := strings min: [:a :b | a size < b size]. Transcript show: shortestString.Выход:
kiwi -
мин: автор:
Этот метод позволяет указать ключевой блок, который извлекает значение из каждого элемента, а затем находит минимум на основе этого значения. Например, чтобы найти человека с самым низким возрастом в коллекции объектов:
| people youngestPerson | people := {Person new age: 32. Person new age: 26. Person new age: 40}. youngestPerson := people min: #age by: [:p | p age]. Transcript show: youngestPerson age.Выход:
26
Это всего лишь несколько примеров метода «min» в Smalltalk. Могут быть и другие варианты в зависимости от конкретной реализации Smalltalk, которую вы используете.