Erlangには、可変引数がないみたい。検索に引っかからない。
どうにか、デバッグ(io:format)で可変引数っぽくできないかと考え、作ってみた。
■ソース
-module(va_args).
-export([start/0]).
-define( LOG( Fmt, Args ), io:format( Fmt, Args ) ).
-define( LOG2( Fmt, Args ), io:format( "~p:~p " Fmt, [ ?MODULE, ?LINE ] ++ Args ) ).
start() ->
?LOG( "~p~n", [test] ),
?LOG2( "~p~n", [test2] ).
■実行結果
C:\Users\andre\ework>erlc va_args.erl
C:\Users\andre\ework>erl -noshell -run va_args start -run init stop
test
va_args:8 test2
引数にフォーマットとリスト渡せば、可変引数として使える。
なぜ、デバッグでio:format?と思われるかもしれないが、まだ技術力が足りないせいである。