【发布时间】:2013-02-20 11:53:49
【问题描述】:
在 Haskell 中,在列表推导中,我可以在每次迭代时将表达式绑定到一个变量:
[a | x <- xs, let a = x ^ 2, a >= 25]
如何在 Racket 的 for 理解中绑定词法变量?
目前我有这个代码:
(define (euler4)
(apply max
(for*/list ([i (in-range 100 1000)]
[j (in-range i 1000)]
#:when (string=? (number->string (* i j))
(string-reverse (number->string (* i j)))))
(* i j))))
我想将(* i j) 绑定到一个变量,并在函数中的任何位置替换表达式。
【问题讨论】:
-
虽然问题和答案是有效的,但我很遗憾您基本上发布了对 Project Euler #4 的答案,而我在尝试在 Racket 中解决它时偶然发现了这个问题。欧拉特别要求您不要这样做。我添加了 project-euler 标签
标签: racket list-comprehension lexical-scope