【问题标题】:How to use io module with Chicken Scheme?如何在 Chicken Scheme 中使用 io 模块?
【发布时间】:2020-01-15 08:36:26
【问题描述】:

对于 Chicken Scheme,我想使用 read-lines 程序。使用解释器(csi),没问题:

(define (lire-vecteur)
   (let* ((fichier (car (command-line-arguments)))
      (flux (open-input-file fichier)))
     (let ((V (list->vector (map string->number (read-lines flux)))))
       (close-input-port flux)
       (display (tri-rapide V)))))

但在尝试编译 (csc) 时,我得到:

$ time ./tri-rapide-vecteur-lst ../mega-vecteur.txt 

Error: unbound variable: read-lines

    Call history:

    library.scm:3448: print-exit54375438      
    library.scm:2290: body3981    
    library.scm:2292: assign      
    library.scm:3448: current-print-length54395440    
    library.scm:2290: body3981    
    library.scm:2292: assign      
    library.scm:3926: ##sys#print     
    library.scm:3188: case-sensitive      
    library.scm:3189: keyword-style   
    library.scm:3190: ##sys#print-length-limit    
    library.scm:3297: outchr      
    library.scm:3188: g5148   
    library.scm:3927: print-call-chain    
    library.scm:3882: ##sys#get-call-chain    
    library.scm:3834: ##sys#make-vector   
    library.scm:1371: ##sys#allocate-vector     <--

read-lines 是 (chicken io) 模块的一部分。如何在我的程序中导入这个模块?

感谢您的任何提示,祝您有美好的一天。

【问题讨论】:

    标签: module chicken-scheme


    【解决方案1】:

    您确定您使用的是 CHICKEN 5 吗?听起来您使用的是 CHICKEN 4。在 CHICKEN 5 中,解释器通常应该具有与编译器相同的可用模块,但这可能取决于您在做什么。

    导入(chicken io) 模块的正确方法是:(import (chicken io))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 2016-12-15
      相关资源
      最近更新 更多