アクション→コード→javascriptlet
はい。ということで今回はjavascriptletです。
javascriptタスクと何が違うかってーと
直に記述できるのと、再生ボタンがあるから
エラーの検知がしやすいわけですね。
(「何列目がおかしい」と表示してくれる)
まぁ、taskerでも大抵の変数処理はできるので
よほど大量に変数出力するか
もしくは、シビアなタイミングで
タスク動かす必要がない限りは
わざわざjavaで組む必要はないかと思いますが
ジャバっと説明しちゃいましょう。javaだけに。
さて、ということで設定例。
こちらのコードはtaskerのグローバル変数
%Start_Xと%Yokosaを参照・設定し →①&②
%Yokosaの数値を絶対値に
変換したうえで →③
java変数「Hairetsu」を
文字列「xkoma」と設定し →④
③で指定した「%Yokosaの絶対値」回数分だけ →⑤
%Start_Xの値に1を足して →⑥(注意有)
その値を都度、ローカル配列「%xkoma」として
taskerに連続出力してくれるタスクですね。 →⑦
(※ローカル配列(変数)ですからね。
グローバル変数じゃないので
注意してくださいね)
たとえば%Start_Xが5、%Yokosaが‐3だと
%xkoma0が6
%xkoma1が7
%xkoma2が8
といったように出力されます。
―――――――以下コード――――
let x1 = global('Start_X'); //①
let x3 = global('Yokosa'); //②
let x4 = Math.abs(x3); //③
let Hairetsu = "xkoma"; //④
for ( let x = 1; x <= x4; x++) //⑤
{
x5 = x + +x1; //⑥※
setLocal(`${Hairetsu}${x}`, x5); //⑦
}
――――――――――――――――
さて。それでは各種説明を。
「;」…式の区切り。
文章でいう「。」みたいなもの。
「'」…文字列を引用する時に使う?
とりあえずglobalでの
tasker変数引用にはいるっぽい。
「"」…文字列(string)定義で
変数を設定する時に使うっぽい。
「"」を使わないと数字(int)定義の
変数になる模様。
(逆に、「"」で括ると半角数字でも
数字として認識されない?)
let…定義設定。 x1をtasker変数の
%Start_Xとすると宣言している。
なおこの際、()の中の「'」×2と
)でくくったあとの「;」を書き忘れるので
注意して確認しましょう。
(なお、変数は「1x」のような
数字頭の記述は不可能で、
大文字を使うと
Setlocal でtaskerに出力できない模様)
(taskerのローカル変数設定は3文字以上の
小文字である必要があるので、まぁ残当)
ちなみにconstとの違いですが
constは絶対定義
letは代入可能定義と覚えましょう。
constのほうがバグりにくいですが
この場合は代入するのでletです。
さて、続くMath.abs(x3);
…はあんまり分からないんで
飛ばして次、for文。つまりループ条件式ですね。
内容は
1️⃣let xで0を設定し (let x = 0;)
2️⃣xが≦x4の値になるまで(x <= x4;)
3️⃣都度xに1を足しながら(x++)
{}内の式を繰り返す、という式です。
あ、細かい解説はこちらどうぞ。
https://java2005.cis.k.hosei.ac.jp/materials/lecture04/for.html
ちなみにこのletは
int等の数字変数として認識されるみたいなので
「 let x = 1;」のところを
「let x1 = global('Start_X');」としても
作動してくれません。
理由は以下で説明します。
で、続く※印なのですが
ここが問題です。
そもそも、javaの変数設定には
「int」などの数値変数と
「string」などの文字列変数があります。
で、ここでふたつ質問です。
①先ほどglobalで引用&設定したx1は
数値と文字列、どちらの判定でしょうか?
②また、文字列変数と数字変数を足すと
どのような出力が得られるのでしょうか?
それでは回答です。
①文字列判定になる
②「x」のほうが文字数に
塗り替えられて計算される。
です。つまりこのまま計算しても
文字列同士の結合にしかならず
x1(%Start_X)が5だと
5+1=6となるはずが
「51」と出力されるわけです。
だから、「+」演算子を
x1の頭につけて
文字列ではなく、数値として認識させ
検算する必要が、あったんですね。
あ、ちなみにここだけの話
文字列処理するなら
chatgptにjava書いてもらうのがオススメです。
僕の方でもいくつか「Tasker作例」の方で
上げておくので、参考にされるとよろしいかと。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます