ikuma, akuma, xkuma, ukuma…
JSやTSのサンプルコードで、よく自分の名前ikuma
を一文字変えて使っているのだけれど、毎回入力するのも面倒なので、スニペット化しました。ikuma
を複製するので、ECMAScriptを文字ってIkumaScriptです。
親の顔よりよくみた連番作成処理を行います。
実際には+ 10
しているので10 ~ 35
までの値を含む配列が取得できます。
ここからN進数を利用してアルファベットに変換を行っていきます。文字としての数字は0から9までの10種類しかないので、36進数に変換すると、10 ~ 35がそれぞれa ~ zに相当することになります(36 - 10 = 26個のアルファベットが必要になる)
37進数にはどの記号が採用されるのか
ここでふと疑問に思うのが、37進数以降の場合、アルファベットで賄えない部分はどうなるのかということです。実際にやってみました。
Number.prototype.toString() - JavaScript | MDNにも記載がありましたが、37以上はエラーになるようですね。
Rubyでも試してみます。
Integer#inspect (Ruby 3.1 リファレンスマニュアル)
こちらもリファレンスに記載がありましたが、37以上を指定するとエラーになるようです。
おわりに
ikumaという名前が名付けられた経緯には色々な意味があるのですが、時代背景的に悪魔ちゃん命名騒動 - Wikipediaがあったこともあり、あえて一文字ずらして「ikuma」になったみたいな理由もあると以前母から聞きました。
1文字どころかたくさんずらして遊んでます。 — 息子より