2011-08-01から1ヶ月間の記事一覧

Erlangとビット演算

FeliCaのポーリングで取得できるPMmからコマンドごとのタイムアウト時間を計算する必要が生じたため、Erlangで書いてみました。PMmの各バイトを、2ビット、3ビット、3ビットに分けて計算するので、まずは取り出してみましょう。 4> <<E:2, B:3, A:3>> = <<2#10011101>>. <<1</e:2,>…

文字列を先頭から見て同じところまで除去 (2)

前回の記事で書いたソースをいじってみましょう。下記2点が気になりました。 リストに1つしか文字列がないときに期待通りの動きをしない。 これは、lists:all(Fun, []) が true を返すためですね。 1文字辿るのに2回もループを回している。 lists:all/2 と、…

文字列を先頭から見て同じところまで除去

お久しぶりです。No Programming, No Lifeで見掛けた表題のお題をErlangでやってみます。まず、文字列が2つのときを考えます。これは文字列のパターンマッチングを使えば問題なさそうですね。 -module(ahya). -compile(export_all). ahya([H1|T1], [H1|T2]) …