From 52af57b5ebb0fa7cce4358ba46b7ab177311449c Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sun, 31 Aug 2014 16:06:33 -0700 Subject: [PATCH] use in- iterators --- hyphenate/main.rkt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hyphenate/main.rkt b/hyphenate/main.rkt index 3404ea03..2ff8ef7f 100644 --- a/hyphenate/main.rkt +++ b/hyphenate/main.rkt @@ -59,7 +59,7 @@ [pat (map (λ(i) (or (string->number i) i)) pat)] ; convert numbers [pat (if (string? (car pat)) (cons 0 pat) pat)] ; add zeroes to front where needed [pat (if (string? (car (reverse pat))) (reverse (cons 0 (reverse pat))) pat)]) ; and back - (flatten (for/list ([i (length pat)]) + (flatten (for/list ([i (in-range (length pat))]) (define current (list-ref pat i)) (if (= i (sub1 (length pat))) current @@ -85,7 +85,7 @@ (let ([word-as-list (string->list word-with-dots)]) (cons (make-list (add1 (length word-as-list)) 0) ;; ensures there's at least one (null) element in return value (filter-not void? - (for*/list ([len (length word-as-list)] [index (- (length word-as-list) len)]) + (for*/list ([len (in-range (length word-as-list))] [index (in-range (- (length word-as-list) len))]) (define substring (list->string (take (drop word-as-list index) (add1 len)))) (when (hash-has-key? patterns substring) (define value (hash-ref patterns substring)) @@ -143,8 +143,8 @@ points-with-zeroes-on-left-and-right)) (define (make-pieces word) - (define word-dissected (flatten (for/list ([char word] - [point (add-no-hyphen-zone (make-points word))]) + (define word-dissected (flatten (for/list ([char (in-string word)] + [point (in-list (add-no-hyphen-zone (make-points word)))]) (if (even? point) char ; even point denotes character (cons char 'syllable))))) ; odd point denotes char + syllable