erlang io format 格式化輸出總結

2021-06-28 20:19:41 字數 1657 閱讀 2711

關於erlang的io format各種格式的介紹比較多,但都不全面,這裡自己做乙個總結。

3個輸出函式

format(iodevice, format, data)->

format(format, data)->

format(format)->

format標準格式:~f.p.padmodc

f表示輸出長度和格式 ,    +10表示左對齊輸出10位長度, -5表示右對齊輸出5位長度,輸出的data長度不足時,用pad填充

p表示輸出精度,即擷取data的長度,輸出精度p大於data長度時,用pad填充

pad表示輸出填充字元,上面2個都會用到,只能為乙個character,預設為空格 如果

f, p或者pad為 *

, data中下乙個引數為

for

p的值

mod控制型別的修飾,(目前只有t一種,用作unicode 轉換)

c表示控制型別

常見控制型別:

~c   anscii碼 將p作為輸出該字母的次數

eg.> io:fwrite("|~10.5c|~-10.5c|~5c|~n", [$a, $b, $c]).

| aaaaa|bbbbb |ccccc|

ok

~f   浮點數 p為輸出該浮點數小數點後位數,不足時用0填充

~s   字串  

p為擷取data的長度

~w   

erlang

term 

~p   與~w類似,不過當多行時將自動換行

~w   比~w多乙個引數,表示列印深度,term深度超過該引數時,列印時用...代替表示

~n   換行符

~b  

輸出格式基於2...36進製,將p作為進製,預設為10進製

eg.  io:fwrite("~.16b~n", [31]). 輸出31的16進製制格式

~x  

輸出格式基於2...36進製的數字,2個引數,第乙個是要輸出的data,第二個是在輸出的數字之前帶上的引數。

如:io:fwrite("~.16x~n", [31,"10#"]).   

10#31 

ok.

~b 類似與~b,輸出小寫字母

~x 類似與~x,輸出小寫字母

~+  類似與~#,輸出小寫字母

應用舉例:

io:format("|~10.7.+s|",["abc"])  %%列印10長度,其中字串長度為7,剩餘用+號填充

|+++abc++++|

io_lib:format("~.*..f", [6, 192.2225]).  這裡*代表data中的引數6, f前面的乙個.不知道什麼意思,但不能省略或替換,否則會出錯

["192.222500"]

io:format("~.2..f", [192.2225]).

192.22

io:format("~8.2.0b,", [2])       輸出data的2進製形式,並湊齊8個長度,不足8時用0填充

00000010

lists:flatten(io_lib:format(format,[arg])) 可以獲取到格式化輸出的字串

格 有界格 分配格

假設 l,l,preccurlyeq l,為偏序集,如果對於任意a,b l,a b a,b in l a,b l,a,b 都存在上確界和下確界,則稱 為乙個格 la ttic e lattice latti ce 顯然上確界和下確界有唯一性 上確界l b a,b l cup b l b a,b 記作...

N97的軟格和硬格

也就是n97的 軟格 和 硬格 關於硬格 按住shift 左下角刻有中字的鍵 刪除鍵 右上角 鍵 空格 最長的那個鍵 再按開機鍵,直到出現地區選項,鬆開鍵盤三個鍵 關於軟格 待機狀態下直接輸入 7370 原始密碼12345 軟格是單單恢復手機 系統所在盤的原廠時的檔案,而不對系統盤進行格式化。軟格只...

報表系統格集模型 格集表示法

格集有以下幾種表示方法 cellx 可以表示只有乙個單元格的格集,如 b3。單獨乙個單元格,也可以構成格集,即只有乙個成員的集合。cellx celly 其中cellx與celly均為單元格,該表示式表示以cellx與celly為對角點圈起的矩形區域,而且,cellx在左上角,celly在右下角。如...