2016-03-15 119 views
1

我試圖讓我的IP地址使用Erlang。Erlang:讀取ip地址

我發現從這裏這個例子:Erlang: Finding my IP Address

local_ip_v4() -> 
    {ok, Addrs} = inet:getifaddrs(), 
    hd([Addr || {_, Opts} <- Addrs, {addr, Addr} <- Opts, size(Addr) == 4, Addr =/= {127,0,0,1}]). 

但它返回這樣的值:因爲"{127,0,0,1}"用雙引號(""):{127,0,0,1}

我希望它返回一個像這樣的值我想用re:replace,更改爲.

我該怎麼做?

回答

7

如果你想將IP地址轉換爲字符串,你可以使用函數inet:ntoa/1

> inet:ntoa({127, 0, 0, 1}). 
"127.0.0.1" 

作爲獎勵,它可以處理IPv6地址,以及:

> inet:ntoa({0,0,0,0,0,0,0,1}). 
"::1" 
+0

真有用.. –