小编Mir*_*lov的帖子

在emacs中的指定窗口中打开文件

如何在emacs中指定一个用于打开新文件/缓冲区的窗口?

当我打开文件时,在dired using o命令中说,它在新窗口中打开.但我希望这个文件在我指定的窗口中打开.

emacs dired

3
推荐指数
1
解决办法
674
查看次数

在Emacs中动态显示/隐藏菜单栏

我已经menu-bar-open绑定在f11和菜单栏被关闭,正因为如此,f11调用tmm-menubar,这是不方便的,并没有因为某些原因(如组织和TBL在组织模式)的模式特定的菜单项.我希望它以这种方式运行:使菜单栏可见,使用户可以选择菜单项,之后再次使菜单栏不可见.

什么是最惯用和优雅的方式?

我考虑过编写建议,但Emacs开发人员通常建议不要这样做,因为它会导致调试问题,标准的Emacs代码不包含建议.

我在GUI中使用Emacs 24.1.

emacs elisp menu menubar

3
推荐指数
2
解决办法
3123
查看次数

对于unittest.TestCase子类,当run table执行runcases时无法获取class属性

我想在测试方法中为类属性设置一个值,并在另一个测试方法中使用具有相同类属性的值.当我通过run方法执行测试用例以正常方式尝试时,得到错误AttributeError: 'Unit' object has no attribute 'b'.无论如何,我通过使用global变量和通过将类分配给变量来找到其他解决方案.我可以知道为什么我无法检索我使用其他方法设置相同的类属性的原因吗?另外,你能帮我用run方法解释实际过程......提前谢谢.

这是我尝试的示例代码:

import unittest
class Unit(unittest.TestCase):
    def test_i(self):
        self.b=20
    def test_j(self):
        print self.b


suite=unittest.TestLoader().loadTestsFromTestCase(Unit)
unittest.TextTestRunner(verbosity=2).run(suite)
test_i (__main__.Unit) ... ok
test_j (__main__.Unit) ... ERROR

======================================================================
ERROR: test_j (__main__.Unit)
----------------------------------------------------------------------
Traceback (most recent call last):
File "<pyshell#52>", line 5, in test_j
AttributeError: 'Unit' object has no attribute 'b'

----------------------------------------------------------------------
Ran 2 tests in 0.078s

FAILED (errors=1)
<unittest.runner.TextTestResult run=2 errors=1 failures=0>


    #The two ways which I solved...
    #1.By Assinging …
Run Code Online (Sandbox Code Playgroud)

python unit-testing python-3.x python-unittest

3
推荐指数
1
解决办法
2160
查看次数

org-mode中的多段脚注

我有一个带脚注的组织模式文档:

This some text[fn:1]. This is another text[fn:2].

* Footnotes

[fn:1] This is footnote's first line.

This is footnote's second line.

[fn:2] Another footnote
Run Code Online (Sandbox Code Playgroud)

然后我再打,然后按下重新编排注脚C-u C-c C-x f S- org-footnote-action它执行(org-footnote-renumber-fn:N)(org-footnote-normalize 'sort).结果是:

This some text[fn:1]. This is another text[fn:2].

* Footnotes

[fn:1] This is footnote's first line.

[fn:2] Another footnote
Run Code Online (Sandbox Code Playgroud)

脚注的第二段丢失了.这使得在组织模式下不可能有多个段落脚注.一个半解决方案是为每个段落单独添加脚注,但我不希望这样.

是否有可能在脚注中保留结构?我该怎么做才能使org-mode不删除脚注中的文字?

emacs footnotes org-mode

3
推荐指数
2
解决办法
998
查看次数

Elisp 中 lambda 的递归

我有以下Python代码:

def sum_fibonacci():
    '''Project Euler: 2
    Sum of even-valued terms of Fibonacci sequence < 4 mil
    '''
    def i(a, b, acc):
        if a >= 4000000: return acc
        if a % 2 == 0:
            return i(a + b, a, acc + a)
        else: return i(a + b, a, acc)
    return i(2, 1, 0)
Run Code Online (Sandbox Code Playgroud)

我想把它翻译成 Emacs Lisp。在Elisp 的高阶函数中,我被告知不要使用defuninside defun,因为它全局启用该函数,所以我改为编写 lambda 。但我需要让 lambda 递归地调用自身。

我的代码是:

(defun sum-fibonacci ()
  (let ((i
         (lambda (a b acc)
           (cond ((>= a 4000000) …
Run Code Online (Sandbox Code Playgroud)

emacs recursion lambda elisp

3
推荐指数
1
解决办法
2442
查看次数

Common Lisp中的反向字符串

如何在Common Lisp中反转字符串?

我想将"Hello World"转换为"dlroW olleH".在Python中,它是使用扩展切片完成的:"Hello World"[::-1].

string common-lisp

3
推荐指数
1
解决办法
1563
查看次数

从Common Lisp中的嵌套循环返回

我正在尝试将此Python代码转换为Common Lisp:

for a in xrange(1,1000):
    for b in xrange(a,1000):
        c = (a**2 + b**2) ** 0.5
        s = a + b + c
        if s == 1000:
            return a * b * c
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是:

(loop for a from 1 to 999
      do (loop for b from a to 999
               for c = (sqrt (+ (expt a 2) (expt b 2)))
               for s = (+ a b c)
               until (= s 1000)
               finally return (* a b c))))
Run Code Online (Sandbox Code Playgroud)

这不起作用.我的任务是:当s …

loops common-lisp nested-loops

3
推荐指数
2
解决办法
4375
查看次数

球拍:里面的词汇范围

在Haskell中,在列表理解中,我可以在每次迭代时将表达式绑定到变量:

[a | x <- xs, let a = x ^ 2, a >= 25]
Run Code Online (Sandbox Code Playgroud)

如何在Racket的for理解中绑定词法变量?

目前我有这个代码:

(define (euler4)
  (apply max
         (for*/list ([i (in-range 100 1000)]
                     [j (in-range i 1000)]
                     #:when (string=? (number->string (* i j))
                                      (string-reverse (number->string (* i j)))))
           (* i j))))
Run Code Online (Sandbox Code Playgroud)

我想绑定(* i j)一个变量,并在函数的任何地方将表达式替换为它.

list-comprehension lexical-scope racket

3
推荐指数
1
解决办法
198
查看次数

SRFI/41和Racket/stream有什么不同?

in-range在Racket中返回一个流.在racket/stream库中的流上定义了大量函数.但是我不能使用功能stream-takesrfi/41他们.我想执行

(stream-take 5 (in-range 10))
Run Code Online (Sandbox Code Playgroud)

它抱怨说stream-take: non-stream argument.

(stream->list (stream-cons 10 (in-range 10)))
Run Code Online (Sandbox Code Playgroud)

以上引发了以下错误:

stream-promise: contract violation;
 given value instantiates a different structure type with the same name
  expected: stream?
  given: #<stream>
Run Code Online (Sandbox Code Playgroud)

然而:

(stream->list (stream-cons 10 stream-null)) ;; works
(stream->list (stream-cons 10 empty-stream)) ;; works
Run Code Online (Sandbox Code Playgroud)

两者都很好.

以上是否意味着来自racket/streamsrfi/41不兼容的流?如何在racket/stream不重新发明轮子的情况下从流中获取10个项目?

球拍5.3.3

stream racket

3
推荐指数
1
解决办法
214
查看次数

在Flask-Login上从多个不同位置禁用同时登录

我有一个用Flask编写的Web服务。用户A使用一些用户名登录服务。我希望用户B不能使用相同的用户名登录,直到用户A的会话过期。换句话说,我想禁用每个用户的并发,同时登录。如何在Flask-Login中进行操作

python authentication flask flask-login

3
推荐指数
1
解决办法
1551
查看次数