Re: Given string 'a.bc.' -- each dot(.) is to be replaced with 0 or 1

Liste des GroupesRevenir à cl scheme 
Sujet : Re: Given string 'a.bc.' -- each dot(.) is to be replaced with 0 or 1
De : karme (at) *nospam* karme.de (Jens Thiele)
Groupes : comp.lang.scheme
Date : 24. May 2024, 16:45:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v2q971$2c9oj$1@dont-email.me>
References : 1 2
HenHanna <HenHanna@devnull.tb> writes:

On 5/18/2024 1:28 AM, HenHanna wrote:
How can i write this function simply?   (in Scheme (Gauche))
-- Given a string  'a.bc.' -- each dot(.) is to be replaced with 0
or 1.
        -- So the value is a list of 4 strings:
                                                 (a0bc0  a0bc1  a1bc0
                  a1bc1)
-- The order is not important.
             If the string has 3 dots, the value is a list of length 8.
If the program is going to be simpler,
                        pls use, say,   (a $ b c $)  rather than  'a.bc.'
>
>
___________________________________________________
From the Gauche (Scheme)  manual:
>
             (cartesian-product ’((a b c) (0 1)))
                   ⇒         ((a 0) (a 1) (b 0) (b 1) (c 0) (c 1))
>
>
________________________________________
>
The  Gauche (Scheme)  manual  describes
                             string-count    and     cartesian-product
>
as built-in functions, but I couldn't use them and ended up defining
them myself -- Why is that?
                           Do i have to import libraries, as in Python?

yes.
As the manual states this is in the util.combinations library:

gosh> (cartesian-product '((a b c) (0 1)))
*** UNBOUND-VARIABLE-ERROR: unbound variable: cartesian-product
Stack Trace:
_______________________________________
  0  (report-error e)
  1  (eval expr env)
        at "/usr/share/gauche-0.98/0.9.14/lib/gauche/interactive.scm":359
  2  (evaluator exp (vm-current-module))
  3  (with-error-handler (^e (report-error e) #t) (^ () (let loop2 ...
gosh> (use util.combinations)
gosh> (cartesian-product '((a b c) (0 1)))
((a 0) (a 1) (b 0) (b 1) (c 0) (c 1))

Greetings
karme

Date Sujet#  Auteur
18 May 24 * Given string 'a.bc.' -- each dot(.) is to be replaced with 0 or 13HenHanna
19 May 24 `* Re: Given string 'a.bc.' -- each dot(.) is to be replaced with 0 or 12HenHanna
24 May 24  `- Re: Given string 'a.bc.' -- each dot(.) is to be replaced with 0 or 11Jens Thiele

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal