Arduino用に簡易ハッシュ関数を作る
これでもか!っていうくらい実用性はないんだけど、
そこは、Arduino用なんで。
use v5.14;
use strict;
use warnings;
my @commands = qw/start stop bpm on off/;
foreach my $cmd ( @commands ) {
my @tmp = map { ord; } split //, $cmd;
my $hash_code = 0;
for ( @tmp ) {
$hash_code += ( $_ & 0x0F );
}
printf( "%-5s : %d\n", $cmd, $hash_code );
#say join( ',', @tmp );
}
実行結果は、こんな感じ。
$ perl aaa.pl
start : 14
stop : 22
bpm : 15
on : 29
off : 27
とりあえず、この5つならすべて異なる。
技術的な課題としては、
“bpm”, “on”, “off”は引数を取るので、
コマンド受信モードと引数受信モードを作って、
あーでもない、こーでもないしたら、簡単なシンセが作れるかもね!
まずは、”start”, “stop”, “bpm”でメトロノームだけど。
おしまい。
Leave a Comment