let

    12热度

    1回答

    我想使用变量的值在同一个let语句中计算另一个变量的值。有没有办法做到这一点在Clojure没有使用嵌套让? 嵌套让利的解决方案: (let [x 3] (let [y (+ 1 x)] y)) = 4 期望的解决方案: (let [x 3 y (+ 1 x)] y) = 4

    13热度

    1回答

    我有一些不理解的行为来自gnu clisp 假设我有一些代码,如(let ((x "Hi!"))(print x))。 如果我从控制台执行它(如,clisp fileName.lisp)我看到 嗨! 但是,当我从解释器执行它,我看到这个文本两次。为什么? 请帮助我。

    65热度

    3回答

    我知道他们不同,因为一个人设置*compile-path*而另一个没有。不过,我需要帮助他们为什么不同。 let用给定的绑定创建一个新的作用域,但binding ...?

    2热度

    1回答

    这是从这里开始的后续工作 - >multiple-sorting-on-linq-nested-method。 基本上,在let memberName = ...它抛出这个异常Method 'System.String MemberName(Int32)' has no supported translation to SQL.,我没有找出解决方案。 此外,BLLCmo和BLLConnect实际使

    5热度

    3回答

    我刚开始使用Clojure玩,我写了一个小脚本来帮助我了解一些功能。它是这样开始的: (def *exprs-to-test* [ "(filter #(< % 3) '(1 2 3 4 3 2 1))" "(remove #(< % 3) '(1 2 3 4 3 2 1))" "(distinct '(1 2 3 4 3 2 1))" ]) 然后它通过*exp

    4热度

    3回答

    我有一个bash脚本的问题。我必须使用运算符*来乘。相反,该脚本使用扩展名错误地使用脚本本身的名称作为运算符。我试着用单引号,但它不工作:(下面的代码 #!/bin/bash -x # Bash script that calculates an arithmetic expression # NO PRECEDENCE FOR OPERATORS # Operators: + - *

    6热度

    1回答

    在彼得·塞贝尔的实用的Common Lisp,他给出了这样的例子: (do ((nums nil) (i 1 (1+ i))) ((> i 10) (nreverse nums)) (push i nums)) 我可以看到它是如何工作的,使用NUMS内循环,但不能给它一个台阶形。为什么你会把NUMS在变量定义,而不是这样做: (let (nums) (do ((i 1 (+

    35热度

    4回答

    好的。我一直在修补Clojure,并且不断遇到同样的问题。让我们的代码,这个小片段: (let [x 128] (while (> x 1) (do (println x) (def x (/ x 2))))) 现在我希望这打印出序列与128开始像这样: 128 64 32 16 8 4 2 相反,它是一个无限循环,反复印刷128。很