chicken-scheme

    0热度

    1回答

    如何在Chicken方案中使用关联数组或哈希表? 我正在寻找支持基于密钥的数据,这工作应该像鸡方案Java的HashMap或Python的dict数据结构(近)O(1)访问的数据结构。 似乎有鸡蛋实现该功能,但我宁愿使用更标准的东西。 显然,似乎有一种努力来定义Scheme R6RS的标准库,但我不确定这是否是鸡的可行选项。

    0热度

    1回答

    我想写一个字符串到一个文件,但每次我都做了引号。 我已经试过 (call-with-output-file file-path (lambda(output-port)(write "some text" output-port))) 和 (let ((p (open-output-file file-path))) (write "some text" p)

    1热度

    1回答

    我一直在鸡计划玩了一会儿,但我注意到一些不寻常的东西。假设我有以下简单源文件: (define (f x) (g x)) 很明显(对于人类bean),这是行不通的。当我启动csi并手动输入该函数的定义,我得到了以下信息: Note: the following toplevel variables are referenced but unbound: g (in f)

    1热度

    1回答

    我发现了一个简短的介绍方案的在线和我有一点麻烦使用此项功能: (define (title-style str) (let loop ((lC#\space) (i 0) (c (string-ref str 0))) ((if (char=? lC#\space) (string-set! str i (char-upcase c))) (if (= (

    0热度

    1回答

    我正在寻找一种方法来获取在鸡计划unix时间,或任何其他时间戳,我可以比较像它是一个数字与其他时间戳。 我想要这个,因为我试图模拟(运行时),它在我正在阅读的书(SICP)中定义为“开始解释器以来的时间”,但是因为我们只是寻找这些差异不同点的邮票,这并不重要。 我可以进入更多的细节,如果有帮助:我试图做练习1.22。

    0热度

    1回答

    所以我试图用一些代码和让和lambda两个方案表达式方法之间进行实验。 我的代码如下: (let splice ((l '()) (m (car s)) (r (cdr s))) (append (map (lambda (x) (cons m x)) (perm (append l r))) (if (null? r) '() (splice

    1热度

    2回答

    我最近开始使用ChickenScheme,现在我想用默认参数声明一个函数(如果没有指定)。 我在Racket网站上发现了这个例子,我知道Racket和ChickenScheme不同,但我认为这些基本的东西都是一样的。 (define greet (lambda (given [surname "Smith"]) (string-append "Hello, " given "

    1热度

    1回答

    我试图让模式匹配工作,但我只能得到它在鸡解释器中工作 - 不是编译器。 这里是它在解释一个例子: CHICKEN (c) 2008-2015, The CHICKEN Team (c) 2000-2007, Felix L. Winkelmann Version 4.10.0 (rev b259631) freebsd-unix-clang-x86-64 [ 64bit manyargs

    0热度

    1回答

    我想知道,如果可能的话,最好的方法是在CHICKEN-Scheme中动态加载编译后的代码。 API状态load只加载源文件。 具体而言,我在动态加载代码的目标是能够覆盖以前定义的函数。也就是说foo库1将得到由不同foo图书馆2

    0热度

    1回答

    我想将sexps转换为xml,我有一个递归函数,它会经历一个表示xml标记及其子标记的列表,然后用正确的缩进将它们打印到标准输出。 我正在使用鸡计划编译器。 来源: (use srfi-13) (use extras) ;Returns the length of a list (define (len lst) (define (len-help lst count)