From 6ca2fec6cdfe277fb8a39f0e376eba71e7a530a5 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 24 Jul 2013 08:44:31 -0700 Subject: [PATCH] interpolate: adding generalized numbered string interpolate. --- basis/interpolate/interpolate-docs.factor | 10 ++++++++++ basis/interpolate/interpolate.factor | 11 +++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 basis/interpolate/interpolate-docs.factor diff --git a/basis/interpolate/interpolate-docs.factor b/basis/interpolate/interpolate-docs.factor new file mode 100644 index 0000000000..02300ea282 --- /dev/null +++ b/basis/interpolate/interpolate-docs.factor @@ -0,0 +1,10 @@ +USING: help.markup help.syntax math strings ; +IN: interpolate + +HELP: ninterpolate +{ $values { "str" string } { "n" integer } } +{ $description "Assigns stack arguments to numbered variables for string interpolation." } +{ $examples + { $example "USING: interpolate ;" "\"Bob\" \"Alice\" \"Hi ${0}, it's ${1}.\" 2 ninterpolate" "Hi Bob, it's Alice." } +} +{ $see-also interpolate } ; diff --git a/basis/interpolate/interpolate.factor b/basis/interpolate/interpolate.factor index 6e5f68fcdf..bed5b7416c 100644 --- a/basis/interpolate/interpolate.factor +++ b/basis/interpolate/interpolate.factor @@ -1,7 +1,8 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: io kernel macros make multiline namespaces vocabs.parser -present sequences strings splitting fry accessors ; +USING: accessors arrays fry hashtables io kernel macros make +math.parser multiline namespaces present sequences +sequences.generalizations splitting strings vocabs.parser ; IN: interpolate string swap 2array ] map-index + >hashtable [ _ interpolate ] with-variables + ] ; -- 2.34.1