我有个人Wordpress页面并计划发布lisp代码.默认情况下,Wordpress不支持lisp的代码突出显示器.有什么建议?
我只是在学习ANSI Common Lisp(在Win32机器上使用clisp),我想知道mapcar是否可以使用传入的函数作为正式参数?请参阅以下内容:
(defun foo (fn seq)
(mapcar #'fn seq))
Run Code Online (Sandbox Code Playgroud)
在我看来,这将提供比以下更大的灵活性:
(defun mult (i)
(* i 2))
(defun foo ()
(mapcar #'mult '(1 2 3)))
Run Code Online (Sandbox Code Playgroud) 如何在Scheme中创建连续数字列表?
在Python中创建一个从1到10的整数列表range(1,11).方案有同等效力吗?
mzscheme --version 给 Welcome to Racket v5.2.1.
编辑:根据/sf/answers/500101731/实现范围功能,需要以下代码:
#lang racket
(require srfi/1)
(iota 5 1)
Run Code Online (Sandbox Code Playgroud) 当我在进行测试驱动开发时,我思考是否可以通过基于测试的生成代码完全开发出假设程序.即是否有能力让生成器专门创建代码来传递测试.编程语言的未来只是编写测试吗?
我在Haskell中使用一个名为Threepenny-GUI的图形库.在这个库中,main函数返回一个UImonad对象.这让我很头疼,因为当我尝试将IO值解压缩到局部变量时,我收到错误抱怨不同的monad类型.
这是我的问题的一个例子.这是标准主函数的略微修改版本,由Threepenny-GUI的代码示例给出:
main :: IO ()
main = startGUI defaultConfig setup
setup :: Window -> UI ()
setup w = do
labelsAndValues <- shuffle [1..10]
shuffle :: [Int] -> IO [Int]
shuffle [] = return []
shuffle xs = do randomPosition <- getStdRandom (randomR (0, length xs - 1))
let (left, (a:right)) = splitAt randomPosition xs
fmap (a:) (shuffle (left ++ right))
Run Code Online (Sandbox Code Playgroud)
请注意第五行:
labelsAndValues <- shuffle [1..10]
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
Couldn't match type ‘IO’ with ‘UI’ …Run Code Online (Sandbox Code Playgroud) 我的应用程序使用urn:uuid作为实体的URI.当然,当我得到有关资源的RDF信息时,被引用的实体(主题或对象)将在urn:uuid模式中包含URI.为了获取新实体的表示,可能是以REST方式,我需要一个"解析器",类似于dx.doi.org的DOIs.另一种情况可能是解析isbn:URI,因此要获得此URI的合理表示.
我的问题是关于URI-to-representation-URL解析的建议标准的相关内容.
虽然我在任何地方都设置了UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs缓冲区本身......),我在尝试运行代码时不断收到此错误(def beta "?"):
Coding system iso-latin-1-unix not suitable [...]
Run Code Online (Sandbox Code Playgroud)
例如,仅在Emacs中发生,而不是在lein repl从命令行运行时发生.
可能是什么原因造成的?我正在使用Ubuntu,如果这有任何区别.
在The Little Schemer中有一个功能可以检查列表是否是平的:
(define lat?
(lambda (l)
(cond
((null? l) #t)
((atom? (car l)) (lat? (cdr l)))
(else #f))))
Run Code Online (Sandbox Code Playgroud)
我正在尝试在Haskell中编写相同的递归函数,但没有成功:
is_lat :: [a] -> Bool
is_lat [] = True
is_lat ???
Run Code Online (Sandbox Code Playgroud)
我如何检查参数不在表单中[[a]]?换句话说,[1,2,3]是一个有效的输入,但[[1,3], [2,4]]并[[[1,2,3]]]没有.
我想在接受列表的递归函数中进一步使用它,以确保我只处理平面列表.
编辑:我看到人们因is_lat :: [a] -> Bool类型签名而感到困惑.我现在同意,我不应该在运行时检查类型.但是,是否可以在编译时检查类型?如何使该功能仅适用于平面列表?或者我应该彻底改变我的思维方式?
我想将文件从复杂的目录结构移动到一个地方。例如,我有这个深层次的层次结构:
foo/
foo2/
1.jpg
2.jpg
...
Run Code Online (Sandbox Code Playgroud)
我希望它是:
1.jpg
2.jpg
...
Run Code Online (Sandbox Code Playgroud)
我目前的解决方案:
def move(destination):
for_removal = os.path.join(destination, '\\')
is_in_parent = lambda x: x.find(for_removal) > -1
with directory(destination):
files_to_move = filter(is_in_parent,
glob_recursive(path='.'))
for file in files_to_move:
shutil.move(file, destination)
Run Code Online (Sandbox Code Playgroud)
定义:directory和glob_recursive。请注意,我的代码仅将文件移动到它们的公共父目录,而不是任意目标。
如何简洁优雅地将所有文件从复杂的层次结构移动到一个地方?