ならば

音とかで遊んでいたログ

第一歩

まず環境構築。フリーソフトウェア。ChucK自体はCUIだが、GUIに毒された身には辛いので簡易開発環境のminiAudicle*1を導入。ChucKのランタイムエンジンも含まれているので単にminiAudicleのzipファイルをダウンロードして解凍するだけで全て完了。起動するとコードを編集するウィンドウの他にVMとコンソールモニタが出てくる。VMをスタートしたら、コード打って"Add Shred" で実行。再編集後実行と中断する場合はそれぞれ "Replace Shred"、"Remove Shred"。shredという英単語は元は、断片、小片という意味。シュレッダー。

チュートリアルを見るといきなりオシレータとかD/Aコンバータとかよく分からない単語ばっかなので、存在意義の音を無視してとりあえず何も考えずにFizzBuzzをやってみた。これだけ*2

for (1 => int i; i <= 100; i++) {
    if (i % 15 == 0) <<<"FizzBuzz">>>;
    else if (i % 3 == 0) <<<"Fizz">>>;
    else if (i % 5 == 0) <<<"Buzz">>>;
    else <<<i>>>;
}

C言語とかのいわゆる「おまじない」みたいなのはいらない。関数とかクラスも作れるらしいけど、今はそれもいらない。謎の演算子「=>」はChucK演算子といってここでは代入として使っている。左から右へってのが気持ち悪いが慣れるしか。囲みすぎの山括弧「<<<式>>>」はデバッグプリントで中の式の値を出力する。
コンソール出力

[chuck](VM): sporking incoming shred: 1 (fizzbuzz.ck)...
1 :(int)
2 :(int)
"Fizz" : (string)
4 :(int)
"Buzz" : (string)
"Fizz" : (string)
7 :(int)
8 :(int)
"Fizz" : (string)
"Buzz" : (string)
11 :(int)
"Fizz" : (string)
13 :(int)
14 :(int)
"FizzBuzz" : (string)
16 :(int)
17 :(int)
"Fizz" : (string)
19 :(int)
"Buzz" : (string)
(略)

*1:ちなみに上の動画ではThe Audicleというとてもグラフィカルな開発環境を使っているが、miniAudicleはもっとずっと地味

*2:マイナーすぎる言語なのでスーパーpre記法でのハイライトはないようだ