如何在emacs中指定一个用于打开新文件/缓冲区的窗口?
当我打开文件时,在dired using o命令中说,它在新窗口中打开.但我希望这个文件在我指定的窗口中打开.
我已经menu-bar-open绑定在f11和菜单栏被关闭,正因为如此,f11调用tmm-menubar,这是不方便的,并没有因为某些原因(如组织和TBL在组织模式)的模式特定的菜单项.我希望它以这种方式运行:使菜单栏可见,使用户可以选择菜单项,之后再次使菜单栏不可见.
什么是最惯用和优雅的方式?
我考虑过编写建议,但Emacs开发人员通常建议不要这样做,因为它会导致调试问题,标准的Emacs代码不包含建议.
我在GUI中使用Emacs 24.1.
我想在测试方法中为类属性设置一个值,并在另一个测试方法中使用具有相同类属性的值.当我通过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) 我有一个带脚注的组织模式文档:
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不删除脚注中的文字?
我有以下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) 如何在Common Lisp中反转字符串?
我想将"Hello World"转换为"dlroW olleH".在Python中,它是使用扩展切片完成的:"Hello World"[::-1].
我正在尝试将此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 …
在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)一个变量,并在函数的任何地方将表达式替换为它.
in-range在Racket中返回一个流.在racket/stream库中的流上定义了大量函数.但是我不能使用功能stream-take从srfi/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/stream和srfi/41不兼容的流?如何在racket/stream不重新发明轮子的情况下从流中获取10个项目?
球拍5.3.3
我有一个用Flask编写的Web服务。用户A使用一些用户名登录服务。我希望用户B不能使用相同的用户名登录,直到用户A的会话过期。换句话说,我想禁用每个用户的并发,同时登录。如何在Flask-Login中进行操作?
emacs ×4
common-lisp ×2
elisp ×2
python ×2
racket ×2
dired ×1
flask ×1
flask-login ×1
footnotes ×1
lambda ×1
loops ×1
menu ×1
menubar ×1
nested-loops ×1
org-mode ×1
python-3.x ×1
recursion ×1
stream ×1
string ×1
unit-testing ×1