From 6ccaa78ca20fdfc6b7e0ce7f574d6236f2a4f685 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 20 Mar 2023 21:04:27 -0600 Subject: [PATCH] Fix splitByAll side effect --- projects/bad-nlp/src/bad_nlp/Main_.kiss | 30 +++++++++++++------------ projects/bad-nlp/src/bad_nlp/Util.kiss | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/projects/bad-nlp/src/bad_nlp/Main_.kiss b/projects/bad-nlp/src/bad_nlp/Main_.kiss index dd5a6353..a4d4dfda 100644 --- a/projects/bad-nlp/src/bad_nlp/Main_.kiss +++ b/projects/bad-nlp/src/bad_nlp/Main_.kiss @@ -1,15 +1,17 @@ -(doFor name [ - "Finn" - "Miguel" - "George" - "Ernest" - "Crawford" - "Howard" - "Troy" - "Tracy" - "Valeria" - "Vanessa" - ] - (assert (Names.isName name))) +(doFor _ (range 2) + (doFor name [ + "Finn" + "Miguel" + "George" + "Ernest" + "Crawford" + "Howard" + "Troy" + "Tracy" + "Valeria" + "Vanessa" + ] + (assert (Names.isName name))) -(assertEquals 5 .length (Names.findNames "Vanessa, Finn, and Tracy--and George--go to Troy's...")) + (assertEquals 5 .length (Names.findNames "Vanessa, Finn, and Tracy--and George--go to Troy's...")) +) \ No newline at end of file diff --git a/projects/bad-nlp/src/bad_nlp/Util.kiss b/projects/bad-nlp/src/bad_nlp/Util.kiss index 39a83fea..7b5ea10f 100644 --- a/projects/bad-nlp/src/bad_nlp/Util.kiss +++ b/projects/bad-nlp/src/bad_nlp/Util.kiss @@ -27,7 +27,7 @@ ]) (function :Array splitByAll [:String text :Array delims] - (if delims + (ifLet [delims (delims.copy)] (let [next (delims.shift) tokens (text.split next)] (flatten (for token tokens (splitByAll token (delims.copy)))))