小编Sha*_*hay的帖子

安装Emacs邪恶.我该如何开始呢?

出于好奇,我想尝试emacs +邪恶.这是我到目前为止所做的:

  • 在Windows 7上安装了emacs 24 - 进展顺利

  • 创建了一个.emacs文件C:\Users\name\AppData\Roaming\(其中.emacs.d结束)

  • 在.emacs文件中添加了以下内容

    (setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
                             ("gnu" . "http://elpa.gnu.org/packages/")
                             ("marmalade" . "http://marmalade-repo.org/packages/")))
Run Code Online (Sandbox Code Playgroud)
  • 然后启动了emacs M-x package-list-packages

  • 选择evil,evil-leader,evil-numbersi然后x安装

  • 重启了emacs

Evil显示安装在package-list-packages中,邪恶文件存在.emacs.d\elpa,但是当我启动emacs时似乎没有加载evil(<N>状态栏中的No ).

只是从emacs开始.除了很多哔哔声之外,没有太大的帮助.想要开始简单并使用它几天,然后可能继续进一步扩展.

emacs elpa

14
推荐指数
1
解决办法
6672
查看次数

单元测试IO Int和Haskell中的类似

九十九个Haskell问题:

问题23:从列表中提取给定数量的随机选择的元素.

这是部分解决方案.为简单起见,此代码只从列表中选择一个元素.

import System.Random (randomRIO)

randItem :: [a] -> IO a
randItem xs = do
    i <- randomRIO (0,length xs - 1)
    return $ xs !! i
Run Code Online (Sandbox Code Playgroud)

所以randItem [1..10]IO Int从1到10 返回一个对应于(但不等于)某个Int的对象.

到现在为止还挺好.但是我可以为randItem函数编写什么样的测试?我可以在输入和输出之间确定什么关系 - 如果有的话?

我可以使用与上述函数相同的逻辑来生成m Bool,但我无法弄清楚如何测试m Bool.谢谢.

haskell

7
推荐指数
1
解决办法
310
查看次数

如何保持诗歌和承诺版本同步?

我有一个pyproject.toml

[tool.poetry]
name = "my-project"
version = "0.1.0"

[tool.commitizen]
name = "cz_conventional_commits"
version = "0.1.0"
Run Code Online (Sandbox Code Playgroud)

我添加了一个新功能并使用提交消息进行提交

feat: add parameter for new feature
Run Code Online (Sandbox Code Playgroud)

这是一次承诺。

然后我打电话

commitizen bump
Run Code Online (Sandbox Code Playgroud)

Commitizen 将识别次要版本的增加,更新 my pyproject.toml,并使用更新pyproject.toml的标签再次提交0.2.0

这是第二次提交。

但现在我的pyproject.toml“不正常”(假设我希望我的构建版本与我的 git 标签同步)。

[tool.poetry]
name = "my-project"
version = "0.1.0"

[tool.commitizen]
name = "cz_conventional_commits"
version = "0.2.0"
Run Code Online (Sandbox Code Playgroud)

我已经提交了两项,一项被标记了,但事情仍然不太正确。是否有工作流程可以让一切保持一致?

python commitizen python-poetry

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

干净的方式来完成 - 如果在[(0,1,2),(2,0,1),(1,2,0)]中的x:?

如果没有,那么函数的规范名称是什么?'循环'对我来说很有意义,但是已经采取了这种做法.

标题中的示例是为了清楚和简洁而编写的.我正在处理的真实案例有很多重复.(例如,我希望[1,1,0,0,0,1,1]"匹配"[0,0,2,1,1,1,0])

这种类型的东西模糊了我的算法,并用无用的重复填充我的代码.

python

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

在真实终端中运行:!命令

我可以在vim中使用pudb(一个ncurses Python调试器),因为,例如,:!python %在一个实际的终端窗口中运行.我更喜欢使用gvim,但gvim :!python %在vim"哑终端"中运行.

有没有办法改变这种行为,所以gvim打开一个单独的命令终端?我想我记得过去以这种方式工作.

vim

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

装饰一个Python3函数来忽略(a,b,*args,**kwargs)中的*args?

Python 3.3:我可以修饰一个函数来忽略所有与命名参数不匹配的位置参数吗?

import functools
def ignore_star_args():
    def wrapper(function_):
        @functools.wraps(function_)
        def wrapped(*f_args):
            return function_(/*only named args*/)
        return wrapped
    return wrapper

@ignore_star_args()
def list_args(a, b, *args):
    # two positional arguments
    return [a, b] + list(args)

>>> list_args(1, 2, "non-positional arg")
[1, 2]
Run Code Online (Sandbox Code Playgroud)

python decorator python-3.x

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

如何检测无法通过obj.name语法访问的属性名称?

setattr将设置不能与常规属性访问一起使用的名称,即obj.name.

>>> from types import SimpleNamespace
>>> my_instance = SimpleNamespace()
>>> setattr(my_instance, 'from', 0)  # works
>>> getattr(my_instance, 'from')
0
>>> my_instance.from
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

如何检查这些名称,以避免使用它们?

python python-3.x

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

标签 统计

python ×4

python-3.x ×2

commitizen ×1

decorator ×1

elpa ×1

emacs ×1

haskell ×1

python-poetry ×1

vim ×1