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