Erlang 如何用 Formatting 的方式產生字串

其實字串在 Erlang 中叫做 List of chars,但是為了讓標題變得比較容易找到還是用通俗講法的字串,也就是 string。

平常我們使用 format 字串的時機其實是在 io:format/2 的時候,這也是大多數 Erlang 書籍範例中會一直出現的,但是 io:format/2 其實只是一個可以把結果輸出 stdout 的 function 而已,並不能產生字串來處理或是存入變數,書籍上也鮮少提到說產生 format 字串的方式。

其實 Documentation 中還有一另外一個 library 叫做 io_lib,裡面有個 io_lib:format/2,用法跟 io:format/2 大同小異,唯一的差別就是他會 return 一個 char list。

所以這時候就可以用下面這個 statement:

StringData = io_lib:format("~p~p", [StringOne, StringTwo]). 

StringData 就會被存入一個 format 後的字串了。

Original Link: How do you get the result from io:format into a string

Documentation Link: Doc - io_lib:format/2

comments powered by Disqus