小编Str*_*s3D的帖子

包含当前文件路径的Lua全局变量?

Lua中是否有一个全局变量包含当前正在解释的文件的路径?像Python的__file__变量?

for k, v in pairs(_G) do print(k) end在翻译中跑了一下,看看能不能找到任何东西.只列出了以下变量?

string xpcall package tostring print os unpack require getfenv setmetatable next assert tonumber io rawequal collectgarbage getmetatable module rawset math debug pcall table newproxy type coroutine _G select gcinfo pairs rawget loadstring ipairs _VERSION dofile setfenv load error loadfile

有关如何获取当前正在执行的文件的路径的任何建议?

filesystems lua filenames interpreter module

6
推荐指数
3
解决办法
8313
查看次数

UTF-8二进制文件必须在Erlang的二进制文字中包含/ utf8吗?

在erlang中,定义UTF-8二进制字符串时,我需要在二进制文字中指定编码,如下所示:

Star = <<"?"/utf8>>.
> <<226,152,133>>
io:format("~ts~n", [Star]).
> ?
> ok
Run Code Online (Sandbox Code Playgroud)

但是,如果/utf8省略了编码,则无法正确处理unicode字符:

Star1 = <<"?">>.
> <<5>>
io:format("~ts~n", [Star1]).
> ^E
> ok
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以创建这样的文字二进制字符串,而不必/utf8在我创建的每个二进制文件中都指定?我的代码有很多这样的二进制文件,事情变得很混乱。有没有办法为二进制文件设置某种默认编码?

unicode binary erlang encoding utf-8

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

是否可以以随机顺序运行Common Test运行测试用例?

我为我编写的Erlang应用程序提供了几十个Common Test测试套件模块.所有测试都通过了,但我觉得测试套件非常脆弱.重新排序测试会导致其中一些失败.我没有阅读Common Test文档中依赖项章节,我经常对单元测试中的应用程序状态做出假设.现在我想让我的测试套件更加强大.

随机化测试订单?

来自Ruby,Rspec以随机顺序运行测试,我希望在Common Test中具有相同的功能.有没有人知道是否有办法在Common Test中随机化测试顺序?我没有在文档中看到有关随机化测试顺序的任何内容.

随机化返回值all/0groups/0

我还想过改变all/0groups/0回调的输出.现在他们只返回硬编码列表.也许我可以随机化元素的排序并让它们每次以不同的顺序运行?有没有人通过更改Common Test中的回调返回值来随机化测试顺序?我还需要一种方法来重新运行测试,导致它们像Rspec的--seed标志一样失败.

提前致谢!

random erlang unit-testing common-test

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

为什么HL7消息文本总是大写?

为什么HL7 v2消息中的所有文本值都大写?例如,其中一个示例消息中的名称字段如下所示:

SANDIEGO^CARMEN^^^^
Run Code Online (Sandbox Code Playgroud)

为什么不使用小写字母?如果所有字母都大写,则案例信息将丢失.似乎最初的情况会更好:

Sandiego^Carmen^^^^
Run Code Online (Sandbox Code Playgroud)

这有什么技术原因吗?

text capitalization hl7 hl7-v2

5
推荐指数
0
解决办法
405
查看次数

Erlang 数组与列表

我是 Erlang 新手,所以我正在编写一个示例程序,并努力决定是否应该使用数组或列表。两者都很容易创建和处理,但我没有得到:

  • 如何在不知道应附加项目的索引的情况下将项目附加到数组中。是array:set(array:size(A),"a",A)要走的路吗?
  • 如何确定某个元素是否是数组的成员,就像函数一样lists:member()。我是否必须迭代整个数组并检查每个元素?

最后,就性能而言,哪一个更好?

arrays erlang comparison performance list

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

ExUnit - 运行存储在自定义目录(不是测试/)中的所有测试

我想在我的 Elixir 项目中拥有两组独立的单元测试,我可以使用不同的 ExUnit 配置单独运行它们。我正在开发 ExUnit 格式化程序,并尝试为其编写单元测试。为了测试它,我想我会创建另一个目录 ( example_tests),其中包含test_helper.exs一个与 中的文件类似的文件test/,但 ExUnit 配置为使用我的自定义格式化程序。我将格式化程序添加为 ExUnit 格式化程序,然后创建了一个测试模块example_tests。现在的问题是我不知道如何配置 ExUnit 以example_tests/使用 中指定的配置运行所有测试example_tests/test_helper.exs

我发现有一个test_paths配置参数无法在文件中设置mix.exs。问题是该值是在每个项目的基础上设置的,我需要它有两个不同的值(通常只是["test"]但随后用于使用格式化程序进行测试运行["example_tests"])。我假设我可以在每个任务的基础上覆盖配置值,因此我也创建了一个 example_tests 任务,但我不知道如何更改配置。

有没有办法Mix.Project.config在每个任务的基础上自定义项目配置()?或者,是否有更好的方法来创建具有不同 ExUnit 配置的两组独立的测试?

更新:

以下是 Mix 任务源代码的链接testhttps://github.com/elixir-lang/elixir/blob/master/lib/mix/lib/mix/tasks/test.ex

unit-testing elixir-mix elixir

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

将Elixir AST转换为Erlang AST?可能吗?

可以像这样采用引用的Elixir表达式(AST树):

quote do: 1 + 1
=> {:+, [context: Elixir, import: Kernel], [1, 1]}
Run Code Online (Sandbox Code Playgroud)

并将其转换为Erlang AST?

我查看了代码模块以及一些寻找功能的内核模块,但是我找不到任何东西.我甚至不确定这是否可能......我不知道如何在Ellang AST中表示像Elixir宏这样的东西.

提前致谢!

erlang elixir abstract-syntax-tree beam quote

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

Erlang中的一流模式?(备择方案)

有没有办法在 Erlang 中创建一流的模式?我需要能够创建模式并将其作为参数传递给其他函数,但我知道模式在 Erlang 中并不是一流的。我还研究了 Elixir,但就模式而言,它似乎没有提供更多信息。

我想知道是否有人想出了一个简单的解决方案来解决这个问题。我正在考虑尝试实现这样的东西:

% Instead of using variables, we would just use uppercase atoms which would serve as vars
% A passable pattern
Pattern = {ok, 'Result'}. 

% Custom function to check for matches
match(pattern, {ok, [1,2,3]}). % => true
Run Code Online (Sandbox Code Playgroud)

我是 Erlang 的新手,所以也许这完全没有必要。也许有一个图书馆可以做这种事情?

任何意见是极大的赞赏。提前致谢!

erlang elixir pattern-matching first-class

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

检查 unicode 值是否在 Erlang 二进制字符串中?

我遇到了有关如何在列表中查找值的问题,我也知道lists:member/2

有没有类似lists:member/2二进制字符串的东西?我需要检查二进制文件中是否存在值。我想象这样的事情:

value_in_binary(<<"Some random data">>, <<"d">>). 
%> true
Run Code Online (Sandbox Code Playgroud)

有这样的事情存在吗?如果没有,我将如何实现这样的功能?

string binary erlang encoding default

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

类型规范是否属于 .hrl 文件?

Erlang 类型规范是否属于 .hrl 文件(这些文件被加载到任何需要它们的 .erl 文件中),或者应该将它们保存在 Erlang 模块中,然后导出(这将允许它们在其他模块中使用)?在我看来,这两种方法都可以实现相同的目标。

  • 我缺少任何细微的差别吗?(我知道头文件的内容被复制到使用它们的每个文件中,本质上是在编译时复制代码)。
  • 是否有时应该使用一种方法而不是另一种方法?

提前致谢!

erlang types specifications header-files

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