2016-11-07 3 views
0

Я никогда раньше не работал со схемой.Как сравнить значения столбцов в схеме

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

Допустим, у меня есть таблица db под названием Car с колонкой TirePressure. Оператор select вернет 4 значения TirePressure. Если значения все одинаковые, мне нужно написать результат.

(if (zero? (gSelectOne stmt (string-append "SELECT TirePressure FROM Car WHERE VIN = "ABCDEF"))) 
    (if (= 48 (gGetInt (stmt "TirePressure"))) 
     (begin (gSetIntValue (mCtl "TiresChecked") 1)) 
    ) 

Просьба игнорировать нарушения db, это всего лишь пример.

Любая помощь приветствуется.

ответ

0

if является особой формой (фантазии сюсюкать разговор для не функции, как if и while на любом другом языке), который принимает 3 выражения, а predicate, а consequent и alternative. Как это:

(if predicate 
    consequent 
    alternative) 

Каждое выражение возвращает значение так, если предикат не #f (так верно) consequent оценивается и является результатом кода. Если не оценка альтернативы, это результат.

Представьте, что вы хотите, чтобы проверить, если переменные a, b и c равны нулю вы можете сделать так:

(= 0 a b c) ; ==> #t/#f 

Так представьте, есть выражение, которое становится список prerssures мы можем просто сделать переменная res для нее:

(define res '(0 0 0)) 
(if (apply = 0 res) 
    "all zero" 
    "not good") 
; ==> "all zero" 
Смежные вопросы