LINUX.ORG.RU

История изменений

Исправление Flogger_d, (текущая версия) :

Неа... Не работаеть...

ERROR: extra ellipsis in syntax form (syntax (let ((match-str (string-match pattern sample))) (and match-str (let ((ser-num (natural-seq))) (let ((idx #) (range #) (val #)) (set! match val) #t) ...))))

Вообще - вот эта конструкция какая-то стремная:

(set! match val) #t) ...

Там же по идее - должен быть список идентификаторов переменных, куда надо разложить заматченные куски из sample. Т.е.:

(define match "")
(define lyrName "")
(define text "LAYER M1")
(define pattern "LAYER ([a-zA-Z][a-zA-Z0-9_]*)")

(if (match-vars pattern text match lyrName) 
 (format #t "Recognized layer name: '~a'\n" lyrName)
 (format #t "Fail\n"))



Т.е. список идентификаторов должен синтаксическим рулом быть развернут в совокупность (set! var_i val_i) - вопрос именно - как это сделать....

Исходная версия Flogger_d, :

Неа... Не работаеть...

ERROR: extra ellipsis in syntax form (syntax (let ((match-str (string-match pattern sample))) (and match-str (let ((ser-num (natural-seq))) (let ((idx #) (range #) (val #)) (set! match val) #t) ...))))

Вообще - вот эта конструкция какая-то стремная:

(set! match val) #t) ...

Там же по идее - должен быть список идентификаторов переменных, куда надо разложить заматченные куски из sample. Т.е.:

(define match "")
(define lyrName "")
(define text "LAYER M1")
(define pattern "LAYER ([a-zA-Z][a-zA-Z0-9_]*)")

(if (match-vars pattern text match lyrName) 
 (format #t "Reconized layer name: '~a'\n" lyrName)
 (format #t "Fail\n"))



Т.е. список идентификаторов должен синтаксическим рулом быть развернут в совокупность (set! var_i val_i) - вопрос именно - как это сделать....