2013-07-05 3 views
1

Итак, я пытаюсь сделать код, где каждый раз, когда нажата кнопка, целое число будет увеличиваться, пока оно не достигнет своего максимального значения, тогда оно вернется (цикл) к нулю.Looping counter - самый короткий метод

Я пытаюсь найти самый короткий метод для этого.

Скажем, для примера, что счетчик должен идти от 0 до 6, а затем обратно в 0.

Это то, что я сейчас делаю:

count ++; 
count *= (count != 7); 

Может кто с лучшим методом?



* Примечание: Кроме того, это был 140,000th вопрос с тегом "Objective-C" Я думаю, что это очень здорово. enter image description here

ответ

2

использование по модулю:

count = (count + 1) % 7 
+0

Ах! Brilliant! Ха-ха! +1 –

+0

Не буду! (Есть минимальный срок, прежде чем я смогу принять ответы!) –

0

Может быть, вы хотели бы что-то вроде:

count = count < 6 ? ++count : 0; 

Но если честно, я бы предпочел старый

if(count<6){ 
    count++; 
} 
else{ 
    count = 0; 
} 

Только для его читаемость, вы видите это, и ваш мозг не не нужно много обрабатывать.

+0

Я исправил мой, вниз, чтобы помочь избирателю отменить? – jsedano

+0

Можете ли вы проверить свой код еще раз, это не сработало ... и я не знаком с этой нотацией (хотя я знаю, что это обозначение, потому что я видел его раньше) (ps Я не был тот, кто проголосовал за голос) –

+0

Я сделаю +1 до этого, потому что это тоже хороший подход! Modulo все еще мой любимый! –

Смежные вопросы