小编Mir*_*lov的帖子

Haskell:递归地将十六进制字符串转换为整数?

对于我的家庭作业,我需要使用递归函数(根据需要使用尽可能多的辅助方法)将十六进制字符串转换为基数为 10 的整数。

这是我到目前为止所得到的:

-- Question 1, part (c):
hexChar :: Char -> Integer
hexChar ch
    | ch == '0' = 0
    | ch == '1' = 1
    | ch == '2' = 2
    | ch == '3' = 3
    | ch == '4' = 4
    | ch == '5' = 5
    | ch == '6' = 6
    | ch == '7' = 7
    | ch == '8' = 8
    | ch == '9' = 9
    | ch == 'A' …
Run Code Online (Sandbox Code Playgroud)

recursion hex haskell type-conversion

5
推荐指数
2
解决办法
4517
查看次数

带RequireJS的Underscore.string

我试图同时使用下划线Underscore.stringRequireJS.

内容main.js:

require.config({
    paths: {
        'underscore': '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min',
        'underscore-string': '//cdnjs.cloudflare.com/ajax/libs/underscore.string/2.3.0/underscore.string.min',
    },
    shim: {
        'underscore': {
            exports: '_'
        },
        'underscore-string': {
            deps: ['underscore'],
            exports: '_s'
        },
    }
});

var modules = ['underscore-string'];

require(modules, function() {
    // --
});
Run Code Online (Sandbox Code Playgroud)

浏览器看到了_,但没有看到_s- 它是未定义的.

理想情况下,我想有下划线下_和Underscore.string下_.str,但__s是没关系.我怎样才能做到这一点?

版本: RequireJS 2.1.5,Underscore 1.4.4,Underscore.string 2.3.0

注意:感谢@jgillich确保,这些路径有两个斜杠(//cdnjs.cloudfare.com/...),否则浏览器会认为URL是相对于服务器的,而Firebug会抛出:

Error: Script error
http://requirejs.org/docs/errors.html#scripterror
Run Code Online (Sandbox Code Playgroud)

javascript requirejs underscore.js

5
推荐指数
1
解决办法
3195
查看次数

在Emacs Lisp中逐步迭代

我在Elisp中有一个列表.如何从第1个开始返回包含每个第n个元素的列表?在Python中我有切片表示法:

>>> range(10)[::3]
[0, 3, 6, 9]
Run Code Online (Sandbox Code Playgroud)

我在dash.el列表API中找不到任何有用的东西,所以我使用loop编写了我的解决方案:

(defun step (n xs)
  (loop for x in xs by (lambda (xs) (nthcdr n xs))
        collect x))

ELISP> (step 3 (number-sequence 0 10))
(0 3 6 9)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,(lambda (xs) (nthcdr n xs))可以用dash.el部分应用功能重写-partial:(-partial 'nthcdr n).

loop宏似乎有点矫枉过正.我如何在Emacs Lisp中逐步返回元素?

emacs elisp slice

5
推荐指数
1
解决办法
880
查看次数

直到Haskell中模式的最后一次出现为止

dropWhile请求一个谓词并逐个从列表中删除一个元素,直到谓词第一次为假,然后它只返回剩下的内容.例如,您可以从字符串列表中删除元素,直到找到以斜杠开头的字符串:

> dropWhile (not . isPrefixOf "/") ["a", "b", "/c", "d"]
["/c","d"]
Run Code Online (Sandbox Code Playgroud)

但是如果你想连续删除元素直到你最后一次匹配模式呢?例如,Python的os.path.join接受任意数量的字符串参数.如果任何参数以斜杠开头,则忽略所有参数,其余参数与分隔符连接:

>>> os.path.join("a", "/b", "c", "/d", "e")
'/d/e'
Run Code Online (Sandbox Code Playgroud)

如何连续从列表中删除元素,直到最后一次满足某些条件?

haskell

5
推荐指数
1
解决办法
639
查看次数

new-template.cabal和stack.yaml之间的区别

我想reactive-banana在我的新Haskell项目中使用.我从来没有使用过小集团安装stack之前.我使用创建了一个目录并初始化了项目文件stack new.我现在看到目录中有2个文件:new-template.cabalstack.yaml.

如何设置依赖项并确保它们已下载和编译?

起初,我试图添加- reactive-banana-0.8.0.2stack.yamlextra-deps:,但两者stack buildstack solver没有下载.然后,我增加了一个名为部分librarynew-template.cabal此:

library
  hs-source-dirs:      src
  exposed-modules:     Lib
  build-depends:       base >= 4.7 && < 5
                     , reactive-banana >= 0.8
  default-language:    Haskell2010
Run Code Online (Sandbox Code Playgroud)

每次我试图运行时stack build,它都会出现错误并建议将一些软件包添加到stack.yaml下面extra-deps:,这种情况发生了三次,直到最后安装了所有软件包,并且我可以在stack ghciREPL中导入它们.

所以我的问题是,使用的惯用方法是什么stack?我应该使用这两个文件中的哪一个来指定依赖项和其他项目元数据?普通Haskell开发人员的示例工作流程是stack什么?

haskell cabal haskell-stack

5
推荐指数
1
解决办法
389
查看次数

让 Marp 将某些内容水平和垂直居中

我正在使用 Marp,它是一个在 Markdown 中创建演示文稿并将其转换为 pdf 的工具。在第一张幻灯片上,我有一些内容,例如:

# <center> Working with Virtual Box </center>
<img align="right" src="images/logo.png" width="250">
Run Code Online (Sandbox Code Playgroud)

所有这些都是顶部中心对齐的。我想要的是文本居中对齐(垂直和水平),图像右下对齐。我在 Marp 文档中找不到太多相关信息。我希望有更好 css 的人知道如何提供帮助!相信我,我为此搜索了两个多小时,但我缺乏 CSS 技能,这让我一事无成。

html css markdown marp

5
推荐指数
2
解决办法
1万
查看次数

如何根据内容的大小"增长"iFrame?

我正在动态加载iFrame,有些页面比其他页面"更高".我希望iFrame能够相应增长.可能吗?如果是这样,怎么样?

javascript iframe jquery

4
推荐指数
1
解决办法
6311
查看次数

elisp向量和字符/整数

我有一个关于Elisp矢量的问题.整数和字符是否实际存储(有效)在向量内或通过引用(指针)?向量可以包含任意对象,例如:

(setq v (make-vector 10 nil))
(aset v 0 "Hello World")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,很明显,向量单元0保持对字符串"Hello World"的引用(指针).但整数/字符怎么样?

(aset v 1 ?X)
Run Code Online (Sandbox Code Playgroud)

字符X是否实际存储在向量的单元格1中?

emacs elisp

4
推荐指数
1
解决办法
275
查看次数

如何为ansi-term/multi-term加载别名和环境变量?

我是否必须设置类似.emacs.d/init_bash.sh(如shell模式),或者它可以~/.bash_profile直接读取我的内容吗?如果是后者,如何设置配置ansi-term/multi-term以在启动时自动获取此文件?

emacs

4
推荐指数
1
解决办法
1205
查看次数

在Emacs中sexp和列表之间的区别?

在Emacs中,有一些命令可以将光标移动到括号(或任何括号)中分隔的表达式中,即forward-sexp,reverse-sexp,forward-list和backward-list.在Lisp和任何其他代码中它们的行为类似,所以我看到*-sexp和*-list之间没有区别,除了最后一个在注释或引号内不起作用.

sexp和list命令之间的功能区别是什么,我何时应该使用哪个?

以防万一,我理解上行列表和下行列表命令,它们与主题无关.

emacs elisp delimiter parentheses s-expression

4
推荐指数
2
解决办法
912
查看次数