它是否setq
和setf
?相似?flet
和之间没有什么大的区别labels
?
祝商祺!
我是OCaml新手.我喜欢OCaml的速度,但我并不完全了解它的设计.例如,我希望+
运算符是多态的,以支持整数,浮点等.
我们为什么需要+.
?
我想转换("USERID=XYZ" "USERPWD=123")
为"USERID=XYZ&USERPWD=123"
.我试过了
(apply #'concatenate 'string '("USERID=XYZ" "USERPWD=123"))
Run Code Online (Sandbox Code Playgroud)
将返回""USERID=XYZUSERPWD=123"
.
但我不知道如何插入'&'?以下功能有效但似乎有点复杂.
(defun join (list &optional (delim "&"))
(with-output-to-string (s)
(when list
(format s "~A" (first list))
(dolist (element (rest list))
(format s "~A~A" delim element)))))
Run Code Online (Sandbox Code Playgroud) >cabal update
>cabal install cabal-install
.......
[43 of 44] Compiling Distribution.Client.Install ( Distribution/Client/Install.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Install.o )
[44 of 44] Compiling Main ( Main.hs, dist/build/cabal/cabal-tmp/Main.o )
Linking dist/build/cabal/cabal ..
Run Code Online (Sandbox Code Playgroud)
然后我将等待很长时间才能完成链接.
祝商祺!
Clojure> (doc foreach)
Unable to resolve var: foreach in this context
Clojure> (doc map)
-------------------------
clojure.core/map
([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])
Run Code Online (Sandbox Code Playgroud)
当然,我可以使用"map"来模仿"foreach",但是地图总是返回nil,这使输出在以下函数中变得丑陋:
(defn div618 [p1 p2]
(let [ratio [0.,0.191,0.236,0.382,0.5,0.618,0.809,1.]
price (fn [r] (if (<= p1 p2) (+ p1 (* (- p2 p1) r)) (- p1 (* (- p1 p2) r))))]
(if (<= p1 p2)
(**map** #(println (format "-------%.3f %.2f-------" %1 (price %1))) (reverse ratio))
(**map** #(println (format "-------%.3f %.2f-------" %1 …
Run Code Online (Sandbox Code Playgroud) 在clisp中,以下代码有效:
(defun hit-history () (shell "tail ssqHitNum.txt"))
Run Code Online (Sandbox Code Playgroud)
但是,在Clozure CL中,shell
不支持该功能!
let () = Random.self_init();;
let _ = Random.self_init ();;
?- : unit = ()
Run Code Online (Sandbox Code Playgroud)
看来"let()"什么都不返回?
祝商祺!
import Control.Applicative
import Control.Arrow
filter ((&&) <$> (>2) <*> (<7)) [1..10]
filter ((>2) &&& (<7) >>> uncurry (&&)) [1..10]
Run Code Online (Sandbox Code Playgroud)
两者都得到相同的结果!但是,我很难理解.有人可以在这里详细解释一下吗?
common-lisp ×3
clojure ×2
haskell ×2
ocaml ×2
addition ×1
ccl ×1
exec ×1
go ×1
polymorphism ×1
shell ×1