У меня есть еще один вопрос о том, как сделать самое элегантное решение этой проблемы, поскольку я не могу позволить себе ходить в компьютерную школу прямо, поэтому мои настоящие знания в области "чистого программирования" по CS не идеальны или велики. Это в основном проблема с алгоритмом (кто-то, пожалуйста, исправьте меня, если я неправильно это использую, так как я не хочу продолжать говорить их и смущаться)
У меня есть 4 объекта. Каждый из них обладает свойством вида, которым может быть собака, кошка, свинья или обезьяна. Таким образом, примерная ситуация может быть:
object1.species = свинья
object2.species = кошка
object3.species = свинья
object4.species = собака
Теперь, если я хочу выяснить, все ли 4 вида одинаковы, я знаю, что могу просто сказать:
if ( (object1.species==object2.species)
&& (object2.species==object3.species)
&& (object3.species==object4.species)
) {
// They are all the same animal (don't care WHICH animal they are)
}
Но ведь это не так элегантно, верно? И если я вдруг захочу узнать, ТОЛЬКО 3 или 2 из них являются одним и тем же видом (не важно, какой это вид), вдруг я получаю код спагетти.
Я использую Objective C, хотя я не знаю, имеет ли это значение на самом деле, так как самое элегантное решение для этого я предполагаю, что то же самое на всех языках концептуально? У кого-нибудь есть хорошая идея?
Спасибо !!