2017-01-19 3 views
1

В настоящее время я программирую в BCPL для курса ОС и хотел написать простую функцию is_digit() для проверки в моей программе.isdigit function for BCPL

код фрагмент моего текущего кода:

let is_digit(n) be { 
    if ((n >= '0') /\ (n <= '9')) then 
    resultis true; 
} 

Я знаю, что BCPL не имеет никакого понятия о типах, но как бы я быть в состоянии достигнуть такого рода вещи на языке?

Передача числа приводит к ложному результату вместо ожидаемого true.

Благодаря

ответ

1

is_digit() является функция возвращает значение, а не рутина, поэтому следует использовать = VALOF, а не BE. В противном случае код в порядке.

let is_digit(n) = valof { 
    ..... 
    resultis true 
}