Это происходит потому, что если значение делится на 6, оно также четное и делится на 3. Чтобы исправить это, сначала нужно проверить 6 и проверить только 2 и 3 в ветви else
for(var i = 1; i <= 100; i++) {
if(i % 2 === 0 && i % 3 === 0) {
console.log("The number " + i + " is divisible by two and three");
}
else {
if(i % 2 === 0) {
console.log("The number " + i + " is even" );
} else {
if(i % 3 === 0) {
console.log("The number " + i + " is divisible by three");
}
else {
console.log("The number " + i + " is odd");
}
}
}
}
Различие между ними - то, что script/runner
направляющие начальных загрузок, тогда как задача Граблей не делает, если Вы не говорите ее, заставляя задачу зависеть от :environment
, как это:
task :some_useful_task => :environment do
# do some useful task
end
, Так как загружающиеся направляющие являются дорогими, это могло бы стоить пропустить, если можно избежать его.
Кроме этого, они примерно эквивалентны. Я использую обоих, но в последнее время я использовал script/runner
выполнение сценария отдельно больше.
Одна вещь, которую я сделал, является просто записью нормальные рубиновые сценарии и поместила их в script/maintenance
каталог.
Все необходимо сделать, чтобы загрузить направляющие и получить доступ ко всем моделям, и т.д., помещается require '../../config/environment.rb'
наверху файла, тогда Вы отсутствуете.
Поскольку от сценария/бегуна команд можно быть в порядке. Для чего-либо повторенного задача граблей легче в конечном счете и имеет сводку, если Вы забываете то, что это делает.
Я добрался, сценарий/бегун впечатления был, прежде всего, для периодических задач. Например, задание крона, которое работает:
SomeClass.update_from_web('http://www.sourcefordata.gov/')
FWIW, похоже, есть некоторый отход от использования обработчика сценариев в пользу rake:
Обновление (25.04.2009): я рекомендую использовать задачи rake в отличие от скрипта / бегуна для повторяющихся задач.
Кроме того, как в этом посте , вы можете использовать грабли для повторяющихся задач:
Если бы я тогда хотел, чтобы это выполнялось каждую ночь в моей производственной базе данных в полночь, я мог бы написать задание cron, которое выглядит примерно так:
0 0 * * * cd / var / www / apps / rails_app / && / usr / local / bin / rake RAILS_ENV = production utils: send_expire_soon_emails