Factor теперь будет выполнять функцию main
, если она указана.Вам все равно придется отредактировать ~/.factor-rc
, чтобы добавить макросы INCLUDING
/ IN
, чтобы Factor выполнял поиск кода в текущем каталоге.
~ / .factor-rc:
! Andrew Pennebaker
! INCLUDING macro that imports source code files in the current directory
USING: kernel vocabs.loader parser sequences lexer vocabs.parser ;
IN: syntax
: include-vocab ( vocab -- ) dup ".factor" append parse-file append use-vocab ;
SYNTAX: INCLUDING: ";" [ include-vocab ] each-token ;
scriptedmain.factor:
#! /usr/bin/env factor
USING: io math.parser ;
IN: scriptedmain
: meaning-of-life ( -- n ) 42 ;
: main ( -- ) meaning-of-life "Main: The meaning of life is " write number>string print ;
MAIN: main
test.factor:
#! /usr/bin/env factor
INCLUDING: scriptedmain ;
USING: io math.parser ;
IN: test
: main ( -- ) meaning-of-life "Test: The meaning of life is " write number>string print ;
MAIN: main
Пример:
$ ./scriptedmain.factor Main: Значениеlife is 42 $ ./test.factor Тест: смысл жизни 42
Как опубликовано RosettaCode .