2016-05-16 2 views
0

Я сравнительно новый с заводной, так что я не уверен, если я делаю это правонайти наименьшее число в цикле и проверить, если он равен определенному целому значению в заводной

Я бегу мой запрос в цикл, чтобы найти наименьшее значение, если это наименьшее значение равно говорят 12, а затем распечатать его

connection.eachRow(query) { 

    def errorstate = false 
    if (y < x && y !=0) 
    { 
    errorstate = true 
    x = y ---> if y is less than x then set x = value of y 
    } 
    /* if y is greater then the value of x will not change */ 
if (x == 12) 
    printf ("%-30s\t%-20s\t\n" , name,y) 

    } 

Спасибо заранее !!

+0

Итак ... в чем ваш вопрос? – zchrykng

+0

Я пытаюсь запустить выше скрипта (часть моего оригинального скрипта), но он, похоже, работает некорректно. Он работает, но не выводит, даже если я уменьшу свое конечное значение для x = 2/3? Не уверен, правильно ли скрипт или нет! – somi

ответ

0

Попробуйте это:

connection.eachRow(query) { 

    def errorstate = false 
    if (y != 0) 
    { 
     errorstate = y < x 
     x = Math.min(x, y) 
    } 

} 

/* if y is greater then the value of x will not change */ 
if (x == 12) 
    printf "%-30s\t%-20s\t\n" , name, y 

Это предполагает, что eachRow будет вызывать закрытие он дал на каждой строке перед возвращением. Я не знаю, так ли это, потому что вы не публиковали, какую библиотеку вы используете для этого.

Вполне возможно, что eachRow будет запускать закрытие в отдельном потоке, возвращаясь непосредственно перед запуском любой петли. Проверьте документацию eachRow, чтобы узнать, действительно ли это так.

+0

Спасибо! Это сработало. – somi

+0

Что делать, если я использую значение 0 для y, так как запрос возвращает несколько значений с 0 (что означает, что процесс был запущен менее чем за час), я попытался с if (y> = 0), но он все еще возвращал значения с 12 , хотя было 0 с. – somi

+0

Ваш вопрос для меня не имеет смысла. Мне нужен контекст того, чего вы пытаетесь достичь, чтобы иметь возможность помочь. Возможно, задайте новый вопрос с более подробной информацией о том, что вы делаете, что именно не работает, что вы пробовали до сих пор ... – Renato

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