私はファイルから内容を読み込み、それをタプルのリストに整理しようとしています。私は数字のリストにファイルを読み込んだが、改行直後の数字をスキップしているように見えるが、この動作を防ぐには? 偶数文字のファイルが保証されています。ここでErlangのリストからタプルのリストを構築する
-module(brcp).
-export([parse_file/1]).
parse_file(Filename) ->
read_file(Filename).
read_file(Filename) ->
{ok, File} = file:read_file(Filename),
Content = unicode:characters_to_list(File),
build_tuples([begin {Int,_}=string:to_integer(Token), Int end|| Token<-string:tokens(Content," /n/r")]).
build_tuples(List) ->
case List of
[] -> [];
[E1,E2|Rest] -> [{E1,E2}] ++ build_tuples(Rest)
end.
サンプル入力ファイルされる:
1 7 11 0
1 3 5 0 7 0
1 8 10 0 1 11
99 0
私は「リスト内包」はここから始めるのがよいと思いますが、最初にリストを1つだけ作成してタプルのリストが必要です。その間に、私は強くそれが "タプル"であり、 "touple"ではないと強く信じています –
ありがとう:)私は数字だけを読み込んでロードしましたが、改行に遭遇した場合、数字をスキップします。 – Scy
例を追加できますか?入力データの?私は、http://erlang.org/doc/man/binary.html#split-2を使用するとここでより効率的になると確信していますが、あなたが実際に何を読んでいるのかわからなくても解決策を提案することはできません。 – Amiramix