小编Rob*_*ert的帖子

是否有VBA命令导致调试在该点启动?

这个问题的上下文是我使用消息框作为工具来帮助我熟悉在Excel工作簿集合上运行的大量VBA宏.

我正在小心地在代码中插入消息框,弹出并告诉/提醒我我们在代码中的位置.我想在这些框中有一个按钮,这将带我进入代码的调试.

目前,如果选择"是"按钮,我的解决方案是执行除零.这是一个示例代码段:

Dim MyError as Double
...
If MsgBox("Just entered function XYZ(). Want to debug?", vbYesNo + vbDefaultButton2) = vbYes Then MyError = 1# / 0
Run Code Online (Sandbox Code Playgroud)

它有效,但不是很优雅.

我希望有一个命令可以在调用命令时启动VBA调试模式.

excel vba excel-vba

8
推荐指数
2
解决办法
6180
查看次数

如何在 Elm 中获取 window.location.href?

我有一个index.html包含我的 Elm 应用程序的应用程序。Elm 应用程序将各种GETs 用于由与提供index.html.

而不是在我的 Elm 代码中为GETs硬编码 URL ,例如:

url =
    "http://localhost:8080/api/tasks"
Run Code Online (Sandbox Code Playgroud)

有没有返回值的函数window.location.href

我想做类似的事情:

url =
    getHref() ++ "/api/tasks"
Run Code Online (Sandbox Code Playgroud)

这样,如果我将我的服务器移动到其他地方,我将不需要更新我的 Elm 代码中的所有 url。

location-href elm

8
推荐指数
2
解决办法
1493
查看次数

可以在LISP中重载函数,就像它们可以在C#中一样吗?

我发现重载在我的C#代码中非常有用.我知道它也可以在许多其他语言中完成(C++肯定).

LISP是否允许超载或等效?

lisp overloading

6
推荐指数
2
解决办法
1725
查看次数

Python:如何在单元测试期间覆盖复杂的函数?

我正在使用 Python 的unittest模块来测试我正在编写的脚本。

该脚本包含一个如下循环:

// my_script.py

def my_loopy_function():
    aggregate_value = 0
    for x in range(10):
        aggregate_value = aggregate_value + complicated_function(x)
    return aggregate_value

def complicated_function(x):
    a = do()
    b = something()
    c = complicated()
    return a + b + c
Run Code Online (Sandbox Code Playgroud)

unittest我使用测试没有任何问题complicated_function。但我想my_loopy_function通过覆盖来测试complicated_function

我尝试修改我的脚本,以便my_loopy_functioncomplicated_function其作为可选参数,以便我可以从测试中传递一个简单的版本:

// my_modified_script.py

def my_loopy_function(action_function=None):
    if action_function is not None:
        complicated_function = action_function
    aggregate_value = 0
    for x in range(10):
        aggregate_value = aggregate_value + complicated_function(x)
    return aggregate_value …
Run Code Online (Sandbox Code Playgroud)

python mocking python-unittest

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

Autohotkey是否有"测试我的脚本"功能?

我问了一个关于我用于emacs(在Cygwin中)重新映射Ctrl和Alt键的Autohotkey脚本的问题.这是一个问题:https://stackoverflow.com/q/15899963/1243435.

我测试我的脚本的一种方法是打开emacs并使用C-h k显示键序列文档的功能.它允许我确认Autohotkey是否正在做我期望的事情.

然而,似乎存在一些复杂性,例如可能是Cygwin终端不允许序列C-M-SPC"通过"到emacs,因此emacs实际上只接收C-SPC.

我的问题是:Autohotkey有自己的测试工具,当你按下键盘上的几个键组合时,它会显示Autohotkey接收和发送的内容吗?如果是,我将能够确认我的脚本是否正常工作,然后确定是否是其他问题导致我在将关键序列传递给emacs时遇到问题.

根据Armin建议的答案进行更新

根据Armin的建议,下面是我在执行以下操作后在AHK视图屏幕中看到的内容:

  1. 在Cygwin窗口中单击鼠标以激活它(我已经在其中运行了emacs),
  2. LeftAlt+ h然后k我知道AHK将转换成C-h k,这是'告诉我emacs中的下一个键盘序列意味着什么',
  3. 在emacs帮助提示下按Left Win+ Left Alt+ SPACE,
  4. 看到emacs向我展示了文档C-M-@(C-M-SPC顺便提一下,它也与键序列绑定),
  5. 在AHK视图窗口中单击鼠标左键并使用F5.

以下是AHK窗口中输出的相关部分(以模数缩短较长的行以停止自动换行):

VK  SC  Type    Up/Dn   Elapsed Key     Window
----------------------------------------------------------
A4  038 h   d   4.18    LAlt            /cygdrive/c/...
A4  038 i   u   0.00    LAlt            
A2  01D i   d   0.00    LControl        
48  023     d   0.09    H               
48  023 …
Run Code Online (Sandbox Code Playgroud)

autohotkey

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

Erlang 开端:将函数从 escript 移至 OTP

Erlang 文档中的“escript”中有阶乘函数的简单实现。阶乘函数如下:

fac(0) -> 1;
fac(N) -> N * fac(N-1).
Run Code Online (Sandbox Code Playgroud)

没关系,我可以让它工作,没问题。

然而,我想知道如何使用“OTP 方式”实现相同的简单阶乘函数rebar3

需要明确的是,我的问题是:

  • 代码去哪里了?
  • 我如何从 shell 中调用它?
  • 我也可以像通过 escript 示例一样从命令行运行它吗?

仅供参考,我已经开始使用rebar3. 这是我所在的位置:

rebar3 new app factorial
Run Code Online (Sandbox Code Playgroud)

创建了一些文件,但具体来说,代码位于src目录中的 3 个文件中。我可以看到正在使用主管,看起来不错。

我可以从 shell 与该项目交互:

$ rebar3 shell

1> application:which_applications().
[{factorial,"An OTP application","0.1.0"},
 {inets,"INETS  CXC 138 49","7.0.3"},
 {ssl,"Erlang/OTP SSL application","9.1.1"},
 {public_key,"Public key infrastructure","1.6.4"},
 {asn1,"The Erlang ASN1 compiler version 5.0.8","5.0.8"},
 {crypto,"CRYPTO","4.4"},
 {stdlib,"ERTS  CXC 138 10","3.7"},
 {kernel,"ERTS  CXC 138 10","6.2"}]
2> application:stop(factorial).
=INFO REPORT==== 21-Jan-2019::12:42:07.484244 ===
    application: …
Run Code Online (Sandbox Code Playgroud)

erlang erlang-otp

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

Elm vs React:为什么Elm中没有生命周期起作用?

我在Elm中构建了一些应用程序,现在在React中构建了一些应用程序。

在React中,为我提供了一些功能,例如shouldComponentUpdate当我可能不希望频繁渲染组件时。

只是现在我在想:榆树为什么没有(或不需要)它们?

elm reactjs

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

有没有办法用gnuplot快速绘制elisp函数?

是否有一个emacs-lisp命令,我可以使用它来绘制gnuplot的数字集合,就像我可以从一组数字在Excel中创建简单的折线图?

例如,我想要一个名为像plot-with-gnuplot我可以用以下内容调用的函数的函数:

(plot-with-gnuplot '((0 0.1) (0.1 1) (0.5 10)))
Run Code Online (Sandbox Code Playgroud)

并通过这些点生成一个简单的线图.

最终我将使用它来查看我正在编写的数学函数,通过在一定范围内绘制其值的简单线图,能够快速查看我的代码是如何出现的将是有用的.

elisp gnuplot

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

Elm函数可以有文档字符串吗?

Python有它们,我发现它们非常有用:

def awesome_fn(x, y):
    """"
    Calculates some awesome function of x and y.
    """"
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

然后在iPython REPL中,您可以使用它进行查询

In [1]: awesome_fn?
Signature: awesome_fn(x, y)
Docstring: Calculates some awesome function of x and y.
File:      ...
Type:      function
Run Code Online (Sandbox Code Playgroud)

elm

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

使用 silver 搜索器和 sed 查找并替换文件中的文本

哎呀,我只是不记得了......我最近有一个很酷的方法来使用agwithsed来进行查找和替换。要点很简单,比如:

ag foo -l |  ... magic here ...   sed 's/foo/bar/g'
Run Code Online (Sandbox Code Playgroud)

不起作用,但你可能知道什么是有效的。谢谢!

附言。为银色搜索者欢呼三声。

sed ag

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