如何使Python的enumerate函数从较大的数字枚举到较小的数字(降序,递减,倒计时)?或者一般来说,如何使用不同的步进增量/减量enumerate?
例如,应用于list的此函数['a', 'b', 'c']具有起始值10和步骤-2,将生成迭代器[(10, 'a'), (8, 'b'), (6, 'c')].
我甚至不确定如何问这个问题.感觉就像我在Emacs中错误地找到一个更大的CoffeeScript文件的地方一样,我最终花了很长时间寻找错误.有没有更好的coffeescript.el模式文件可以解决这个问题?有人遇到类似问题吗?那是什么最好的做法?它变得有点我害怕改变那个CoffeeScript文件.
我试图理解reveal.js(http://lab.hakim.se/reveal-js/#/)如何动态调整元素大小.
要查看此内容,请调整页面的高度,并查看元素(在某种程度上)在页面缩小时如何缩小.
但是,使用chrome检查器,我无法看到这种缩小是如何实际发生的,无论是在CSS还是Javascript中.
(我的兴趣来自于想要改进它,如果可能的话,但我很惊讶很难弄清楚它是如何工作的.)
我有一个<select>包含3个选项和<p>元素的HTML 元素.在<p>元素中我想打印当前所选项目的索引<select>.例如,如果我选择第一个选项,它应该打印0,如果我选择第二个选项,它应该打印1,依此类推.如何从最小代码开始,如下所示?
import Html as H exposing (Html)
import Maybe
import Signal as S exposing (Address, (<~))
type alias Model = { selected : Maybe Int }
model = { selected = Nothing }
type Action = NoOp | Select Int
update action model =
case action of
NoOp -> model
Select n -> { model | selected <- Just n }
view address model =
H.div []
[ H.select [] [ …Run Code Online (Sandbox Code Playgroud) 如果我试图在我调用rsync(或scp)多次的Emacs Lisp函数中运行shell命令,我应该使用哪个shell-command变量?我目前正在使用shell-command,它会锁定Emacs,直到完成该过程,并且不会打印带有--verboseto的应该可见的输出rsync; 我可以用shell-command用&在命令字符串的结尾,使其同步,这并打印进度-但同时它并没有完全"锁定"的Emacs,迷你缓冲区反复问我是否要终止的进程是沉重同时; 并且start-process-shell-command,只有在传输第一个文件/目录后才会暂停该功能; 当rsync通过我的功能进行多次通话时忽略其余部分.这些都不是理想的,任何提示?
我使用virtualenv为我的Python项目创建隔离的环境.然后我用pip安装依赖 - Python包管理器.有时我忘了做source venv/bin/activate,然后pip build/在我的项目中创建目录.为什么pip会创建它们?我可以删除它们,如果没有,我可以把它们放在我的.hgignore文件中吗?
据我所知,pip存储了一个名为的下载包的源代码pip-delete-this-directory.txt.但是当我删除它时,一切都仍然有效,因为真正的代码被放入venv/lib/python2.7/site-packages/.那build/真的是什么?
我正在尝试使用NodeJS/ExpressJS 将上传的文件移动/tmp到home目录:
fs.rename('/tmp/xxxxx', '/home/user/xxxxx', function(err){
if (err) res.json(err);
console.log('done renaming');
});
Run Code Online (Sandbox Code Playgroud)
但它没有工作,也没有遇到任何错误.但是,当新的道路也在/tmp,那将是有效的.
我在使用Ubuntu,home是在不同的分区.任何修复?
谢谢
我想编写一个功能等同的列表推导,只使用高阶函数,没有副作用.我这样做是出于严格的学习目的.我知道列表理解是Pythonic.在Python map(f, xs)中相当于[f(x) for x in xs].但是下面这些等价物是什么?
[f(x, y) for x in xs for y in ys][f(x, y) for x in range(1, 5) for y in range(x, 5)]map只返回相同长度的列表.reduce更一般的,可以实现map和filter上面.
map(f, xs) == reduce(lambda a, e: a + [f(e)], xs, [])
filter(p, xs) == reduce(lambda a, e: a + [e] if p(e) else a, xs, [])
Run Code Online (Sandbox Code Playgroud)
因此A可以实现为:
def map2(f, xs, ys):
reduce(lambda a, x: …Run Code Online (Sandbox Code Playgroud) 我想生成包含组织模式文本的字符串,而不实际硬编码语法.例如,我想运行一个类似的函数(org-generate (org-generate-heading "heading" (org-generate-plain-list '("foo" "bar" "baz"))),它将返回:
* heading
- foo
- bar
- baz
Run Code Online (Sandbox Code Playgroud)
换句话说,我想创建具有任意复杂性的组织模式文档,而不需要像星号和缩进那样微处理语法功能,只需通过调用带有参数的函数来返回一些Org对象.有可能吗?也许通过org-element?
受到ADT之间多态函数问题的启发,我试图在多个(不仅仅是2个)类型之间创建同构,因此每次我需要一个同构但不是同一类型时,我可以将一些代码洒在我的代码上convert.
假设我有3个ADT:
data AB = A | B deriving (Show)
data CD = C | D deriving (Show)
data EF = E | F deriving (Show)
Run Code Online (Sandbox Code Playgroud)
使用lens我可以实现AB和CD,CD和EF之间的2个同构:
{-# LANGUAGE MultiParamTypeClasses #-}
class Isomorphic a b where
convert :: Iso' a b
instance Isomorphic AB CD where
convert = iso ab2cd cd2ab
where ab2cd A = C
ab2cd B = D
cd2ab C = A
cd2ab D = B
instance Isomorphic AB EF where
convert …Run Code Online (Sandbox Code Playgroud) emacs ×3
python ×3
elisp ×2
coffeescript ×1
css ×1
elm ×1
enumerate ×1
express ×1
file ×1
file-upload ×1
fold ×1
haskell ×1
haskell-lens ×1
html ×1
html-select ×1
indentation ×1
isomorphism ×1
javascript ×1
map ×1
node.js ×1
org-mode ×1
pip ×1
reveal.js ×1
ubuntu ×1
virtualenv ×1