我有一个简单的、独立的模块,可以生成:
elixir impl_bad.ex ** (ArgumentError) argument error
在iex中:
=> iex Erlang/OTP 23 [erts-11.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe] Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> c "impl_bad.ex" == Compilation error in file impl_bad.ex == ** (ArgumentError) argument error ** (ArgumentError) argument error
代码:
defmodule ImplBad do def run_addition_problems(aconfig) do do_addition_problems(aconfig) end end
将此5行代码单独放入文件中。
我知道do_addition_problems()不存在,但我希望有一个带有行号的未定义错误。
我从存在do\u addition\u problems()的项目文件中提取了这段代码。
我希望编译器能提供更多的信息。我不得不从大约1k LOC的模块中执行“二进制搜索”,以查明这个问题。
这是elixir 1.9.4的问题吗?
这是同时使用Erlang/OTP 23和Elixir 1.9.4的问题。
Elixir 1.9早于OTP 23,但Elixir充分利用了OTP,因此它在编译期间依赖于来自erlang编译器的一些警告/消息。
也就是说,将OTP降级到Elixir 1.9版本(我相信21个版本就可以了),或者将Elixir升级到最新的Elixir 1.11.1版本将解决产生幻想的问题
== Compilation error in file /tmp/test.ex ==
** (CompileError) /tmp/test.ex:3: undefined function do_addition_problems/1
(elixir 1.11.1) src/elixir_locals.erl:114: anonymous fn/3 in :elixir_locals.ensure_no_undefined_local/3
(stdlib 3.13.2) erl_eval.erl:680: :erl_eval.do_apply/6
Python中的短语“仅关键字args”有点含糊——通常我认为它是指传递给< code>**kwarg参数的args。然而,< code>inspect模块似乎对< code>**kwarg和所谓的“仅关键字参数”进行了区分。 来自文档: inspect.getfullargspec(func) 获取Python函数参数的名称和默认值。返回一个命名元组: < code>args是参数名称的列表。<
我使用https://github . com/confluent Inc/confluent-Kafka-python/blob/master/examples/avro _ producer . py中的示例代码将数据加载到主题中。我只做了一个更改,那就是我添加了“default”:为了模式兼容性,每个字段都为null。它加载得很好,因为我可以在http://localhost:9021/中看
我试图在代码欺骗中创建一个功能测试,在那里我可以检查数据库表是否被pupuated,这里是测试: 以下是yaml文件: 我得到一个错误: 但是,当我在浏览器中填写表单时,代码起作用,用户已注册
我猜自动模块: http://openjdk.java.net/projects/jigsaw/spec/sotms/#automatic-模块 意味着需要第三方jar的项目的每个模块都必须将该jar打包到自己的模块化jar中。如果是这样的话,那么一个大型多模块应用程序最终是否会比其基于类路径的Java 8应用程序更大呢?我想到了所有几乎无处不在的apache库和其他常见的开源依赖项。 我在未来获
我正在尝试为自定义模板类创建一个加法运算符,其中第一个参数可以是我的类的实例,也可以是基本的数字类型。My operator的定义类似于下面的示例代码: 我的预期是,由于SFINAE,试图用
我正在IBM RAD 9下开发WebSphere 8.5的应用程序,使用EJB 3:( 我已将项目拆分为以下 maven 模块: dto(仅限“愚蠢”的传输对象) ejb(业务逻辑) web(其余频道,构建类型为WAR) ear(构建类型是ear) EJB模块在META-INF中有空的beans.xml文件。那里有一个生产者类,它产生一些 这种用法非常简单: 它已经在工作了!经过代码的一些改动(涉