File io Scheme中的文件统计信息
我会提前的:这是作业。以下代码定义了一个函数File io Scheme中的文件统计信息,file-io,scheme,File Io,Scheme,我会提前的:这是作业。以下代码定义了一个函数countup,称为: (countup "file1") 循环似乎正在无限期地运行。为什么,我该如何解决这个问题 (define stats (lambda (srcf) (begin (define in (open-input-file srcf)) (let loop ( (l 0) (w 0) (c 0) (char (read-ch
countup
,称为:
(countup "file1")
循环似乎正在无限期地运行。为什么,我该如何解决这个问题
(define stats
(lambda (srcf)
(begin
(define in (open-input-file srcf))
(let loop (
(l 0)
(w 0)
(c 0)
(char (read-char in)))
(case char
((#\newline)
(loop (+ l 1) w(+ c 1) (read-char in)))
((#\space #\tab)
(loop l (+ w 1) (+ c 1) (read-char in)))
(else (loop l w (+ c 1) (read-char in))))
)
(close-input-port in)
(display l)
(display " ")
(display w)
(display " ")
(display c)
(newline)
'()))
)
;; srcf = source text file
(define countup
(lambda (srcf lstf)
(stats srcf)
)
)
从文件中读取字符的程序必须在某个地方具有以下条件:
(cond ((eof-object? the-char)
'finished)
...)
看看这个,看看一个与您正在编写的过程类似的过程,它可能会有所帮助。语言本身并不难。。。“在计划中思考”很难。从功能上考虑。你需要检查文件的结尾。@RobertHarvey:不难,只是不同:)你使用的是什么方案实现?9.0.1版微码15.1版运行时15.7版SF 4.41版LIAR/x86-64 4.118版Edwin 3.116