想把每行的内容拼接保存在一个变量里
时间: 2024-02-20 22:01:04 浏览: 24
你可以通过修改 `read_lines/1` 函数来将每一行的内容拼接起来并保存在一个变量里。下面是一个示例代码:
```erlang
read_lines(IoDevice) ->
read_lines(IoDevice, <<>>).
read_lines(IoDevice, Content) ->
case io:get_line(IoDevice, "") of
eof ->
Content;
Line ->
read_lines(IoDevice, <<Content/binary, Line/binary>>)
end.
```
在上面的代码中,我们将 `read_lines/1` 函数改为了 `read_lines/2` 函数,并添加了一个额外的参数 `Content`,用于保存已读取的文件内容。在函数的递归调用中,我们将每一行的内容拼接到 `Content` 变量的末尾。当函数遇到文件末尾时,它会返回 `Content` 变量的最终值。
你可以使用类似下面的方式来调用修改后的 `read_file/1` 函数,以获得拼接后的文件内容:
```erlang
1> c(read_file).
{ok,read_file}
2> Content = read_file:read_file("file.txt"). % 将文件名替换为实际的文件名
<<"{ action: \"all\"\n source_topic: \"+/+/+\"\n dest_topic: \"campany01/${clientid}/$1/$2/$3\"\n re:\"(device[0-2][0-9])/(.+)/(data|control|resControl)$\" }\n">>
```
在上面的代码中,`Content` 变量将保存拼接后的文件内容。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)