对于我的家庭作业,我需要使用递归函数(根据需要使用尽可能多的辅助方法)将十六进制字符串转换为基数为 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) 我试图同时使用下划线和Underscore.string与RequireJS.
内容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) 我在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中逐步返回元素?
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)
如何连续从列表中删除元素,直到最后一次满足某些条件?
我想reactive-banana在我的新Haskell项目中使用.我从来没有使用过小集团安装或stack之前.我使用创建了一个目录并初始化了项目文件stack new.我现在看到目录中有2个文件:new-template.cabal和stack.yaml.
如何设置依赖项并确保它们已下载和编译?
起初,我试图添加- reactive-banana-0.8.0.2中stack.yaml下extra-deps:,但两者stack build并stack solver没有下载.然后,我增加了一个名为部分library在new-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什么?
我正在使用 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 技能,这让我一事无成。
我正在动态加载iFrame,有些页面比其他页面"更高".我希望iFrame能够相应增长.可能吗?如果是这样,怎么样?
我有一个关于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.d/init_bash.sh(如shell模式),或者它可以~/.bash_profile直接读取我的内容吗?如果是后者,如何设置配置ansi-term/multi-term以在启动时自动获取此文件?
在Emacs中,有一些命令可以将光标移动到括号(或任何括号)中分隔的表达式中,即forward-sexp,reverse-sexp,forward-list和backward-list.在Lisp和任何其他代码中它们的行为类似,所以我看到*-sexp和*-list之间没有区别,除了最后一个在注释或引号内不起作用.
sexp和list命令之间的功能区别是什么,我何时应该使用哪个?
以防万一,我理解上行列表和下行列表命令,它们与主题无关.