小编Tak*_*keS的帖子

Emacs找不到flyspell/ispell

在我的Mac(Snow Leopard,10.6.8)上,我使用的是此处提供的Emacs 24.2的修改版本,以便从下载页面中使用Emacs Speaks Statistics(ESS).Emacs有效,但我还没有能够使用拼写检查器.

为了解决这个问题,我按照本页的说明下载了flyspell.我将flyspell.el文件复制到我的/Applications/Emacs.app/Contents/Resources/site-lisp目录中,这显然是我的emacs加载路径的目录(请注意,例如,该auctex.el文件位于该目录中).

然后,我.emacs添加了以下内容来修改我的文件

(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
(autoload 'flyspell-delay-command "flyspell" "Delay on command." t)
(autoload 'tex-mode-flyspell-verify "flyspell" "" t)
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)
Run Code Online (Sandbox Code Playgroud)

当我打开.tex文件并使用时M-x flyspell-mode,我可以"自动完成"它(即通过按Tab键给我正确的flyspell选项)但是当我按下时RET我得到:

Searching for program: no such file or directory, ispell
Run Code Online (Sandbox Code Playgroud)

这个问题这个问题中提出的解决方案都没有起作用,所以我不确定这里的问题是什么.有没有人有想法或之前遇到过这个问题?

emacs spell-checking flyspell

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

零减零相当于无穷大?

我正在编写一个方法来创建一个浮点数组的副本.在调试之后,我得到了一些非常奇怪的值,所以我想我会问这个,因为我无法通过阅读C++数组常见问题解答这一点.

这是代码的相关部分(它是一个庞大的程序的一部分,大部分内容与这篇文章无关):

// height and width are integer global variables
void method () {
    float testArray[height][width];
    for(int j = 0; j < height; ++j) {
        for(int i = 0; i < width; ++i) {
            testArray[j][i] -= 0.0;
            std::cout << testArray[j][i] << std::endl;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

(在我的测试中,height = 32和width = 256,但这不应该是相关的.)当我初始化testArray时,它的值应该都是0.0,对吗?然后,在循环中,我从testArray中的某个元素中减去0.0,这在逻辑上根本不会改变该值.但是将testArray的值打印为调试步骤会产生一些奇怪的值,例如以下代码段:

[...]
0
[...]
-3.23805e-24
[...]
8.40779e-45
[...]
1.79513e+37
[...]
0
[...]
3.19586e+36
[...]
Run Code Online (Sandbox Code Playgroud)

最令人担忧的值是无限值,例如上面列出的第四个数字.老实说,我不知道为什么会这样.不是所有这些值都不应该大约为0.0吗?我认为这与浮点运算的不精确有关,但这不应该导致无限值....

c++ arrays floating-point multidimensional-array

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

Python,导入文件中的init方法

我对从另一个文件导入方法感到有些困惑。

我正在编写一个从导入的Python脚本python-automata。我已经下载的文件,在我的../Python/目录,我有DFA.pymyfile.py存储。

myfile.py我上面写的是:

import DFA
Run Code Online (Sandbox Code Playgroud)

当我遵循python教程中编写的内容时,我假设myfile.py可以使用中定义的任何方法DFA.py。该文件有一个名为的方法__init__,该方法接受5个参数并初始化一个DFA。然后我写在myfile.py

DFA.__init__(states, alphabet, delta(states, alphabet), start, accepts)       
Run Code Online (Sandbox Code Playgroud)

状态,字母,增量,开始和接受都是我在myfile.py中初始化的所有基本列表/函数。

但是当我尝试运行myfile.py时,出现此错误:

Traceback (most recent call last):
  File "myfile.py", line 21, in <module>
    DFA.__init__(states, alphabet, delta(states, alphabet), start, accepts)
TypeError: module.__init__() takes at most 2 arguments (5 given)
Run Code Online (Sandbox Code Playgroud)

我不确定为什么将它DFA.py定义为接受5个参数时为什么说需要2 个参数。在中DFA.py,我看到:

class DFA:
    def __init__(self, states, alphabet, delta, start, accepts):
    ...
Run Code Online (Sandbox Code Playgroud)

似乎是我之前遇到的类似错误(请参阅Python导入问题 …

python import module

0
推荐指数
1
解决办法
2593
查看次数