gforth: как проверить, что переменная установлена ​​со значением arg

gforth: как проверить, установлена ​​ли переменная

В настоящее время я устанавливаю переменную из командной строки, например:

: functionname
    variable !
; 

поэтому он получает свое значение от

gforth -e"5" myfile.fs 

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

gforth myfile.fs

как проверить, установлена ​​ли переменная? (затем я могу присвоить ей значение по умолчанию в операторе if)


person francois P    schedule 29.08.2020    source источник


Ответы (1)


наконец, я изменил метод чтения параметра:

сначала функция теперь выглядит так:

: valorise_hauteur                                                                                                                                                           
        argc @ 2 < if                           
                cr
                ." no argument using default 5 value"
                5 hauteur !
                cr
        else
                1 arg s>number drop hauteur !
        endif              
;   

и я могу назвать полный скрипт:

gforth myscript.fs 10

где 10 - мой номер аргумента 1, этот метод больше подходит для командной строки и позволяет использовать значение по умолчанию.

person francois P    schedule 29.08.2020
comment
Но этот код не проверяет, установлена ​​ли переменная или нет. Он проверяет количество аргументов командной строки, переданных скрипту. - person user7860670; 02.09.2020
comment
На самом деле это происходит из-за проверки аргумента, тогда переменная hauteur устанавливается, что бы ни происходило. так что это больше не переменная проверка, а переменная сила ... да ... хорошо с этой точки зрения .... но настоящая цель с переменным высокомерием соблюдается ... :) - person francois P; 02.09.2020