在有人开始咆哮之前:
现在提出一个问题:虽然Java一直是我的首选语言,但过去几周我已经看到我转向Jython以满足我的大部分需求.自问世以来,我的问题实际上分为两个,我很想得到一个明确的答案.
A.可以在jython中按原样导入python模块吗?我在不同的论坛上看过很多这样的问题,但从未见过明确的回答.我想知道Python和Jython是否存在一些可能不允许这样做的基本差异,以及是否可以在没有任何修改的情况下在Jython脚本中导入Python模块.
B.如何在Java中使用Jython类?一个简单的网络搜索显示,曾经有一个传说中的实体被称为jythonc可以将python代码编译为java字节码,但此后它已经灭绝了.从Java访问jython代码的唯一另一种方法是使用JSR 223来编写脚本,ScriptEngine这引发了以下问题:是否仍然可以使用我在Java 中用Jython定义的类?
我读了在Haskell,你可以创建这样一个序列:1,3..9]我用Clojure写了一个版本,虽然我很喜欢编程无状态空间复杂度是巨大的.什么是更有效的方法来做到这一点?
编辑:如果您有兴趣了解解决方案,可以阅读我的博客文章.
用例:
(infer-n [1 2] 10) => [1 2 3 4 5 6 7 8 9 10]
(infer-n [1 4 9] 10) => [1 4 9 16 25 ... 100]
(infer-range [9 7] 1) => [9 7 5 3 1]
Run Code Online (Sandbox Code Playgroud)
码:
(defn diffs
"(diffs [1 2 5 12 29]) => (1 3 7 17)"
[alist]
(map - (rest alist) alist))
(defn const-diff
"Returns the diff if it is constant for the seq, else nil.
Non-strict version."
[alist] …Run Code Online (Sandbox Code Playgroud) lisp performance functional-programming clojure immutability