首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方案:如何生产'(5。(5)

方案:如何生产'(5。(5)
EN

Stack Overflow用户
提问于 2015-11-30 05:25:52
回答 2查看 89关注 0票数 0

我试过各种组合的缺点和附加产品'(5 )。(5)但我做不到。有什么办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-30 19:52:36

听起来像比尔·克林顿( Bill ),这取决于你所说的“生产”是什么意思。

如果您的意思是“生成一个在屏幕上打印为'(5 . (5))的值,那么您就不走运了,因为这个值打印为'(5 5)

对于类似的例子:如何生成数字1e-1?那么,试着键入它;这是相同的0.1,如果您键入1e-1,它将打印为0.1。

但是,您可以评估

代码语言:javascript
运行
复制
#lang racket
(= 0.1 1e-1)

..。你会发现他们是同一个号码。

以同样的方式,尝试评估

代码语言:javascript
运行
复制
#lang racket
(equal? '(5 . (5)) (list 5 5))

你会发现这是两种书写相同价值的方法。

票数 7
EN

Stack Overflow用户

发布于 2015-11-30 10:57:34

没有一种便携的方法不恰当地打印适当的列表。最简单的方法就是自己写打印机。一个非常简单的例子如下所示:

代码语言:javascript
运行
复制
(define (write-dot obj . maybe-port)
  (define out (if (null? maybe-port) (current-output-port) (car maybe-port)))
  (cond ((pair? obj) 
         (display "(" out)
         (write-dot (car obj) out)
         (let loop ((obj (cdr obj)))
           (display " " out)
           (cond ((null? obj))
                 ((and (pair? obj) (null? (cdr obj)))
                  (display ". " out)
                  (write obj out))
                 ((pair? obj) (write-dot (car obj)) (loop (cdr obj)))
                 (else (write obj)))
           (display ")" out)))
        (else (write obj out))))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33991926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档