この記事は Qiita p5js アドベントカレンダー2日目の記事です。
これはなに
書籍『Generative Design with p5.js』P_1_2_1_01に登場する関数をまとめた記事です。
int()
int型以外のものを整数値に変えてくれる関数。
他の言語でもよくみると思います。
Type
int(n: string | boolean | number, radix?: number): number;
リファレンスより
Converts a boolean, string, or float to its integer representation. When an array of values is passed in, then an int array of the same length is returned.
boolean, string, floatを整数表現に変換します。値の配列が渡された場合は、同じ長さのint配列が返されます。(DeepL翻訳)
試してみる
console.logでそれぞれ出力してみました。
配列の場合はそれぞれ対応したint型の配列になってくれるみたい。
console.log(int("aaa")) => NaN
console.log(int("123")) => 123
console.log(int(true)) => 1
console.log(int([true, false])) => [1, 0]
console.log(int([true, false, "123"])) => [1, 0, 123]
どんなときに使えそうか
P_1_2_1_01のコードをみると、map
の結果をラップしています。
tileCountX = int(map(mouseX, 0, width, 2, 100));
map()はnumber型を返すそうなので、
なぜintを使用しているかはmapの中身を調べないとわかりませんが(ごめんなさい)、
想定できることは浮動少数点を整数に変えようとしているのでは?
と思いました。
tileCountX
を分数の分母にしている記述があるためです。
var tileWidth = width / tileCountX;
どんな言語でもint()のような関数は用意されていそうですが、
p5では座標やカラーコードで数値を多様するため、より登場頻度は増えそうですね。
参考
p5.js reference | int()
『Generative Design with p5.js』P_1_2_1_01