let

    15热度

    1回答

    在过去的几个月里,我一直在学习很多关于JavaScript的知识。多年来滥用语言,我敢说我现在对语言有了更好的理解,并且我已经来到爱其功能性的好处。 最近我开始学习Scheme,但那只是为了好玩。浏览MDN reference我注意到,JS,虽然缺乏区块范围,确实有可以用来声明局部变量给定块的关键词,就像计划的let: for (var i=0;i<someArray.length;i++) {

    1热度

    1回答

    所以我是Haskell的新手,我必须编程Rabin Karps算法。 我觉得我的答案应该可以工作,但是当我编译时,我总是收到“let'错误的解析错误。 有人能帮我一把。 这里是我的代码: import Data.Char hash :: String -> Int hash [] = -1 hash (x:xs) = ((ord x)) rabinKarp :: String -> S

    1热度

    2回答

    我正在尝试编写一个程序来计算获取成绩列表并计算GPA的成绩平均(GPA)。 (作为练习,而不是作业)。 测试用例: (GPA? '(A C B B)) 3.0 这是我最好的猜测: (define a 4.0) (define b 3.0) (define c 2.0) (define d 1.0) (define f 0.0) (define (mysum lst)

    2热度

    1回答

    我正在关注elisp的介绍。非常第一章。这里是我从HTML书中复制/粘贴的两个例子。我已经评估过这两种形式,并且在这里我将copie/paste粘贴返回值和输出作为* Messages *缓冲区的副作用(我不知道如何复制迷你缓冲区内容)。从*消息从消息* 第一形式 (let ((zebra 'stripes) (tiger 'fierce)) (message "One ki

    6热度

    4回答

    当我有与独立于其参数的函数有关的数据时,我应该何时使用本地封装的块封装? 我应该什么时候使用: (let [hello "Hello "] (defn do-greet "Print a greeting." [name] (println (str hello name)))) 对战: (defn do-greet "Print a gree

    1热度

    1回答

    我不断收到试图运行代码时,此错误: (let ((exp lambda (x y) (if (= y 1) x (* (exp x (- y 1)) x))))) 错误: let: bad syntax in: (let ((exp lambda (x y) (if (= y 1) x (* (exp x (- y 1)) x))))) 我的功能应该定义递归幂,但我让我们遇到问题。

    1热度

    2回答

    这个功能应该算的次数,元素a出现在列表中的号码,但不工作: (defun iter-a_count (lst) (let ((count 0)) (dolist (x lst) (if (equal x 'a) (setf count (+ count 1))) count))) 此函数总是返回零。我可以问问我哪里出错了吗?

    8热度

    1回答

    运行此代码 ghci> j ... no response ... 用很少的CPU利用率挂起。为什么是这样?我预计j = 16。

    0热度

    2回答

    我创建了一个函数,它将任意长度的数字列表作为参数。从这个列表中,我希望使用let在本地创建矩阵。基于列表中的数字序列,矩阵将具有行和列。例如, >(foo '(2 2 3) arg2 ... argn) 应在本地创建 M1: #2a((0 0)(0 0)) M2: #2a((0 0 0) (0 0 0)) 即,第一矩阵从所述第一两个元件采用其尺寸在列表中相邻的元素

    0热度

    1回答

    我必须错过的东西,但我不明白为什么这个人为的例子不工作: test1 :: Int test1 = let g = \s -> s + s f = \u -> let h = \t -> t + t h' = \v -> v + v in g (h (h' u)) in f 1 ghci中>解析错误输入'H“” 然而,这相当