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