This is 'iolist_to_binary' and it's brother 'iolist_size'.
With theses you can do whatever you need to manager large array of strings, or manage small strings or small binaries... In fact you can do everything.
From my blogger module I need a fun to give me back only binary stuff, for example this fun that just returns a valid 'div' element:
test(Title) ->
[ <<"<div class='title'>">>, iolist_to_binary(Title), <<"</div">> ].
With the 'iolist_to_binary' fun I don't have to deal with guards... ie: I don't need to call 'list_to_binary' if the argument is a list...
Here's some tests:
35> blogger_utils:test("blah"). %this is a string
[<<'"<div class='title'>">>,<<"blah">>,<<"</div">>]
36> blogger_utils:test(<<"blah">>). %this is a binary
[<<"<div class='title'>">>,<<"blah">>,<<"</div">>]
37> blogger_utils:test([<<"blah">>, "bli"]). %this is a list of mixed types
[<<"<div class='title'>">>,<<"blahbli">>,<<"</div">>]
Convenient isn't it ?
No comments:
Post a Comment