Compare commits

..

2 commits

Author SHA1 Message Date
6ff7eca031 fix: add missing list 2024-11-03 00:16:32 +08:00
6f860bbb29 feat: add func apply for sub-string-list 2024-11-03 00:15:47 +08:00

View file

@ -166,15 +166,15 @@
`(pre ,(string-join ink-script "\n"))) `(pre ,(string-join ink-script "\n")))
;; Lib ;; Lib
(define (sub-string-list string-list start len) (define (sub-string-list string-list start len func)
(define (sub-string-list-iter string-list start len part) (define (sub-string-list-iter string-list start len func part)
(if (string? (car string-list)) (if (string? (car string-list))
(if (> (string-length (car string-list)) start) (if (> (string-length (car string-list)) start)
(append part (append part
(if (= start 0 ) (if (= start 0 )
'() '()
(substring (car string-list) 0 start)) (list (substring (car string-list) 0 start)))
(list (substring (car string-list) start (+ start len))) (list (func (substring (car string-list) start (+ start len))))
(if (= (+ start len) (string-length (car string-list))) (if (= (+ start len) (string-length (car string-list)))
'() '()
(list (substring (car string-list) (+ start len) (string-length (car string-list))))) (list (substring (car string-list) (+ start len) (string-length (car string-list)))))
@ -182,12 +182,14 @@
(sub-string-list-iter (cdr string-list) (sub-string-list-iter (cdr string-list)
(- start (string-length (car string-list))) (- start (string-length (car string-list)))
len len
func
(append part (list (car string-list))))) (append part (list (car string-list)))))
(sub-string-list-iter (cdr string-list) (sub-string-list-iter (cdr string-list)
(- start (string-length (car (last-pair (car string-list))))) (- start (string-length (car (last-pair (car string-list)))))
len len
func
(append part (list (car string-list)))))) (append part (list (car string-list))))))
(sub-string-list-iter string-list start len '())) (sub-string-list-iter string-list start len func '()))
(define (find-string-list-len string-list) (define (find-string-list-len string-list)
(define (find-string-list-len-iter string-list offset) (define (find-string-list-len-iter string-list offset)