小编ohs*_*ite的帖子

为什么"不相等?"和类似的否定比较没有内置到Racket?

在球拍(和其他计划,从我可以告诉),我所知道的唯一的方法来检查两件事情是否等于就是明确应用not的测试:

(not (= num1 num2)) 
(not (equal? string1 string2))
Run Code Online (Sandbox Code Playgroud)

显然(not (that-big-of-deal?)),但这是一种常见的结构,我觉得我必须忽略它没有内置的原因.

我想,一个可能的原因是你可以经常摆脱not使用unless而不是when,或通过在if语句中切换true/false分支的顺序.但有时候这并不能模仿你试图表达的推理.

此外,我知道否定的函数很容易定义,但是<=,例如,内置的函数也是如此.

什么是没有的东西喜欢的设计决策not-equal?,not-eqv?,not-eq?!=标准库?

scheme racket

7
推荐指数
2
解决办法
3416
查看次数

如何清除或覆盖DrRacket中的一行文本?

我想显示文本然后覆盖它(对于简单的进度条等).显示回车符("\r")的常用技巧在Linux和Windows的终端中运行Racket时工作正常,但在DrRacket和GRacket中,回车似乎没有将光标移动到行的开头.

以此代码为例:

(for ([x 5])
  (display "\r")
  (display x)    
  (flush-output) ; The result is the same with or without this line
  (sleep 0.1))
Run Code Online (Sandbox Code Playgroud)

在终端中运行会产生一个覆盖自己的计数器; 最后只4显示在终端中.

在DrRacket中运行会导致数字显示而不会被覆盖:

0
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

有没有办法在DrRacket的交互窗口中覆盖一行文本?

racket

5
推荐指数
1
解决办法
83
查看次数

标签 统计

racket ×2

scheme ×1