Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 从Elixir中的文本文件中提取列表_List_File_Elixir - Fatal编程技术网

List 从Elixir中的文本文件中提取列表

List 从Elixir中的文本文件中提取列表,list,file,elixir,List,File,Elixir,我有一个有点奇怪的问题,但我读过各种各样的长生不老药文档和教科书来回答这个问题,但什么也没想到 我有一组.txt文件,每个文件都包含列表格式的数据。因此,.txt文件的内容如下所示(包括括号): 如果我将此文件读入Elixir函数,它将作为字符串读取。如果我使用String.tolist它将在新列表中包含括号作为条目。但是,有没有一种方法可以将其读取为一个列表,格式与文件中的格式相同?显然,我可以很容易地编写一个函数,使用正则表达式逐个字符读取数据,每次找到左括号时开始一个新列表,每次找到右括号

我有一个有点奇怪的问题,但我读过各种各样的长生不老药文档和教科书来回答这个问题,但什么也没想到

我有一组.txt文件,每个文件都包含列表格式的数据。因此,.txt文件的内容如下所示(包括括号):

如果我将此文件读入Elixir函数,它将作为字符串读取。如果我使用
String.tolist
它将在新列表中包含括号作为条目。但是,有没有一种方法可以将其读取为一个列表,格式与文件中的格式相同?显然,我可以很容易地编写一个函数,使用正则表达式逐个字符读取数据,每次找到左括号时开始一个新列表,每次找到右括号时结束列表。然而,这将是非常资源密集型的,似乎非常“非长生不老药”


Elixir是否有任何内置函数或命令,可以识别括号并将其格式化为列表,而无需逐个字符读取数据?或者,比我聪明的人知道更有效的方法吗?谢谢

如果文件中的文本是有效的elixir代码,那么您可以使用
code.eval_string
但是,除非字符串被精确引用 长生不老药的流行,很可能行不通

i、 e.您的示例数据必须如下所示:

["a", ["a", "b"], "c", ["d", "e", "f"], "g"]
您可以构建一个解析器来完成所有的引用,但到那时您已经完成了 已经是真正的解析器的一半了。字符串必须由某些东西解析,使用内置的Elixir解析器
编写更少的代码

如果文件中的文本是有效的elixir代码,那么您可以使用
code.eval_string
但是,除非字符串被精确引用 长生不老药的流行,很可能行不通

i、 e.您的示例数据必须如下所示:

["a", ["a", "b"], "c", ["d", "e", "f"], "g"]
您可以构建一个解析器来完成所有的引用,但到那时您已经完成了 已经是真正的解析器的一半了。字符串必须由某些东西解析,使用内置的Elixir解析器 编写更少的代码