約 391,558 件
https://w.atwiki.jp/touchdevelop/pages/27.html
文字列を数値配列に変換するサンプル 概要 data actions events 概要 数値配列であるNumber Mapは一度に一つのデータしか追加できないようです。 これでは大量のデータを登録する場合に不便なので、カンマ区切りのテキストを分割して数値配列化するというルーチンを作ってみます。 また先に作成してある16進→10進変換も組み合わせて10進数だけではなく16進数にも対応させます。 文字数節約のため16進は"0xFF"ではなく"$FF"のように記述します。 ※splitが使えるのでindex ofではなくstrCol = split(",")にした方が高速化できそうです。 データを使った描画の方では修正版を使用しています。 ※ver2.4からjsonオブジェクトをwebからダウンロードするというコマンドが追加されました。大量のデータを扱う場合はそちらの方が簡単です。 "//"で始まるコメント行は入力する必要ありません。 data 変数名 種別 初期値 説明 なし actions hex2binはprivate設定 action hex2bin(hex String) returns bin Number// hexが空だったら0を返す bin = 0 if not hex → is empty then// hexの"abcdef"を大文字の"ABCDEF"に統一 var h = hex → to upper case // 16進の倍率 var v = 1 // hexの文字数の最後の文字から変換開始 var i = hex → count - 1 // 変換 while i ≧ 0 do // 文字の判定 var n = "0123456789ABCDEF → index of(h → substring(i,1)),0) // 不正な文字ならとりあえず0ということにする if n 0 then n = 0 else // do nothing // 文字の数値に倍率をかけて加算 bin = bin + (n * v) // 倍率を次の桁のために16倍する v = v * 16 // 参照する文字を1つ先頭に移動 i = i - 1 else// do nothing str2numMapはprivate設定 action str2numMap(str String) returns nMap Number Map // nMapを初期化 nMap = math → create number map // 一時的な値保管用 var v = 0 var l = 0 // nMap登録用インデックス var i = 0 // str検索用インデックス var t = 0 // strが空じゃなければ処理 if not str → is empty then// 検索ループ while t str → count do // strからカンマを検索 var c = str → index of(",",t) if c 0 then // カンマが見つからなかったら文字列の最後を指定 c = str → count else // do nothing // 数値の文字数 l = c - t // "$"で始まるなら16進数、違ったら10進 if str → index of("$",t) = t then v = code → hex2bin(str → substring(t + 1,l - 1)) else v = str → substring(t,l) → to number // nMapに追加してインデックスを更新 nMap → set at(i,v) i = i + 1 // 次の値を取り出すために文字列インデックスを更新 t = c + 1 // 検索ループここまで else// do nothing テスト実行はこちら action main()// 変換したい文字列 var s = "123,$FF,$80,987,$FFFF" // 変換実行 var n = code → str2numMap(s) // 変換結果を表示 for each x in nwhere true do// xにはインデックスが入っている x → to string → concat("=") → concat(n → at(x)) → post to wall events なし
https://w.atwiki.jp/dc-perl/pages/21.html
chomp chomp VARIABLE chomp LIST chomp 行末の改行コードを削除する。 引数を省略すると$_が対象になります。 引数にLISTを指定した場合は、リストの各要素が対象になります。
https://w.atwiki.jp/qt_memo/pages/13.html
test
https://w.atwiki.jp/gnomenreigen/pages/18.html
"□#1118481"を"#"で分割する場合 txtArray = txt.Split( # ); これで配列txtArrayに格納される ↓こんな感じ txtArray[0] = □ txtArray[1] = 1118481 参考: C# 文字列を指定した区切り文字で分割する http //program571.blog91.fc2.com/blog-entry-27.html
https://w.atwiki.jp/illillillill/pages/17.html
https://w.atwiki.jp/kmo2/pages/14.html
分割して配列に入れる String#split()を使う v = "a,b".split( , ) p v 結果 ["a","b"] v ="a,b,,c".split( , ) p v 結果 ["a", "", "b"] 途中に""を入れたくなければ正規表現で以下のようにすればいい v = "a,b,,c".split(/,+/) 結果 ["a", "b"]
https://w.atwiki.jp/emcs/pages/45.html
concat substring upcase downcase make-string
https://w.atwiki.jp/pignon/pages/10.html
変更後の文字列を返します = 文字列.rstrip !付きは文字列を直接書き変える 取り除く空白がなかったときは nil を返します = 文字列.rstrip!
https://w.atwiki.jp/dslua/pages/112.html
構文 editsetText( 文字列 ) 説明 文字入力ダイアログで、既に文字列が入力された状態で文字入力させたい場合、あらかじめ文字列を設定するコマンドです。 引数 文字列 あらかじめセットしたい文字列です。 戻り値 なし ------------------------------------------ -- 文字入力ダイアログであらかじめ文字列を設定のサンプル editsetText_sample.lua ------------------------------------------ function main() local moji, a local addflag canvas.drawCls( color(255,255,255) ) canvas.drawText("入力済み文字列の", 0, 0, 24, color(0,0,0)) canvas.drawText("ダイアログの表示サンプルです。", 0, 26, 24, color(0,0,0)) editsetText( "入力済み文字列" ) addflag = 1 moji, a = editText("文字を入力してください", addflag) if a==1 then -- OKの場合 canvas.drawText("入力した文字は、" .. moji .. " です。", 0, 52, 24, color(0,0,0)) else -- NOの場合 canvas.drawText("文字入力はキャンセルされました", 0, 52, 24, color(0,0,0)) end canvas.drawText("続けて入力するサンプル。", 0, 78, 24, color(0,0,0)) moji,a = editText("続けて文字を入力してください", addflag ) if a==1 then canvas.drawText("入力した文字は、" .. moji .. " です。", 0, 104, 24, color(0,0,0)) else canvas.drawText("文字入力はキャンセルされました", 0, 104, 24, color(0,0,0)) end canvas.drawText("普通の表示サンプルです。", 0, 128, 24, color(0,0,0)) addflag = 0 moji, a = editText("文字を入力してください", addflag) if a==1 then -- OKの場合 canvas.drawText("入力した文字は、" .. moji .. " です。", 0, 154, 24, color(0,0,0)) else -- NOの場合 canvas.drawText("文字入力はキャンセルされました", 0, 154, 24, color(0,0,0)) end canvas.drawText( "画面タッチで終了します", 0,180, 24, color(0,0,0) ) touch(3) end main() 1.起動すると入力済みのダイアログを表示します。OKボタンを押します。 2.すると画面上に「入力したのは、入力済み文字列です。」が表示され、moji変数に値が入ったのが分かります。 3.次に文字列の所をタップして、入力してみます。あらかじめ入力されている文字列を削除します。 4.「テスト」という文字列を入力し、完了ボタンを押します。 5.OKボタンを押します。 6.ダイヤログに隠れて見えませんが、「入力したのは、テストです。」と表示されているはずです。Cancelボタンを押します。 7.画面タッチで終了です。(隠れていたテストの文字列も確認できます。) コメント(最大10行) 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/ulilith/pages/35.html
タイトル文字列の書式設定 タイトル文字列の書式は、本体設定の 「表示→フェイス」のタイトル文字列の書式 「表示→曲名お知らせ」のメッセージの書式 で使用される、ファイル情報の表示書式のことです。 タイトル文字列の書式設定の基本的な仕組みは旧Lilithの表示設定と同様なので、 旧Lilithのマニュアルも参考になると思います。 (旧Lilithと違い、識別子(表示可能な情報)は増えています) また、こちらのページでも書式設定についての解説があります。 タイトル文字列の書式設定について (uLilithフェイス作成方法wiki) 書式の設定方法 入力欄の右端にある「挿入」ボタンを押すと、 フェイスで表示可能な項目や、文字の表示を制御する特殊記号のリストが表示されます。 リストの中でどれかをクリックすると、 リスト内で選択した項目に対応した単語(前後に%つき)や特殊記号がカーソル位置に挿入されます。 前後に%がついた単語(%Title% など)は「識別子」、 % などの記号は「特殊記号」です。 入力欄に記入したとおりにフェイス上でファイル情報が表示されます。 例えば、「アーティスト名 - 曲名」と表示したい場合は %Artist% - %Title% と記入します。%Artist% や %Title% はファイルのタグ情報に置き換えられて表示されます。 ただ、このままだとアーティスト名が空欄のときに 「 - 曲名」 と、アーティスト名と曲名の間の文字が残ってしまいます。 このようなときに特殊記号を挿入すると、自動的に文字を非表示にする設定にすることができます。 %Artist% - % %Title% 上のように、「 - 」の直後に % を記入すると、 「 - 」の前にある%Artist%(アーティスト名)が空になるときは 「 - 」の部分が自動的に非表示になります。 % は % とは逆に、記入した部分の次にある識別子が空のときに 文字部分を自動的に非表示にすることができます。 %Artist% - % %Title% [%Album%] 上の文字表示例にアルバム名を加えた例です。 このままだとアルバム名が空欄のときに 「アーティスト名 - 曲名 []」 と、曲名の後にカッコが残ってしまうので、 % を利用して文字の表示を制御します。 (%Album% の後にも ] があるので、こちらは % を挿入しておきます) %Artist% - % %Title% [% %Album%]% このように設定すると、 %Title% と %Album% の間の「 [」の部分、 %Album% の直後の「]」の部分は アルバム名が空欄のときに自動的に非表示になります。 %Title% や %Artist% などの識別子や、% や % などの特殊記号以外の部分が「文字列」になります。 識別子か特殊記号で囲まれた部分の文字列がひとかたまりになります。 文字列は半角スペースも含まれます。 また、特殊記号は文字列のすぐ後に記入しないと効果がないので挿入位置には気をつけてください。 特殊記号はフェイス上には表示されません。 文字列を2つに分けて、 前後で % や % の効果を分けたい(表示が連動しない部分を設定したい)場合は %# を挿入してください。 半角の % を表示したい場合は %% と記入してください。 書式で利用する識別子・特殊記号について タイトル文字列の書式が利用可能な項目の入力欄の近くにある 「挿入」ボタンを押すと入力可能な識別子や特殊記号のリストです。 (「挿入」ボタンは単に『押すと選択した項目の識別子や特殊記号が自動入力される』というだけで、 識別子などを記述する際に必ず「挿入」ボタンを押さなければならないというわけではありません。 「挿入」ボタンを利用せずに識別子をそのまま手動入力しても、スペルミスが無ければ問題なく表示されます。) タグ情報に関する識別子 主に曲名表示や、ファイル変換で外部プロセスを利用する場合のコマンドラインオプションを設定する際に利用します。 書式名 識別子 備考 タグのタイトル %Title% 曲名 タグのアーティスト %Artist% アーティスト名 タグのアルバム %Album% アルバム名 タグの日付 %Date% 日付・年 タグのトラック番号 %Track% トラック番号 タグのジャンル %Genre% ジャンル タグのコメント %Comment% コメント ファイル名・ファイルパスに関する識別子 主にファイル変換で外部プロセスを利用する場合のコマンドラインオプションを設定する際に利用します。 書式名 識別子 備考 ファイルのパス %FilePath% 例:「C \Documents and Settings\(ユーザー名)\My Documents\My Music\」など ファイル名 %FileName% 例:soundfile.mp3なら「soundfile」の部分のみ ファイルの拡張子 %FileExt% 例:soundfile.mp3なら「.mp3」の部分のみ 出力ファイル名 %OutFileName% コマンドラインオプション設定で使用する識別子。 その他の識別子 ファイルの再生時間など、タグ情報以外のファイル情報の識別子です。 フェイス上の情報文字列に利用されることが多いです。 書式名 識別子 備考 演奏時間 %PlayTime% 例:「12 34 56.789」などミリ秒単位まで表示 再生時間(秒単位) %PlayTimeSec% 例:「12 34 56」など秒単位まで表示(ミリ秒が表示されないだけで、表示内容は「演奏時間」と同じ) ファイルの種類 %FileType% 例:「MPEG 1.0 Audio Layer-III」など ビットレート %Bitrate% ビット深度 %Bits% サンプリングレート %Samplerate% ステレオモード %Mode% ファイルのチャンネル数(Monaural・Stereoなど) CBR/VBR %VBR% ファイルのビットレートモード プレイリストの登録数 %ListCount% プレイリストの現在位置 %ListCurrent% プレイリストの再生済み数 %ListPlayed% ※現在未実装 プレイリストの合計演奏時間 %ListPlayTime% 例:「12 34 56.789」などミリ秒単位まで表示 プレイリストの合計演奏時間(秒単位) %ListPlayTimeSec% 例:「12 34 56」など秒単位まで表示 プレイリスト上での番号 %ListNumber% % 記号 %% 半角の「%」を1つ表示する 特殊記号 文字列を切り分けたり、文字列の前後の識別子の中身の有無によって 関連付けた文字列を自動で表示・非表示されるように設定するための記号です。 書式名 特殊記号 備考 識別子との関連付けをリセット %# %# を挿入した部分で後ろに続く文字列と切り分けます。 直前の識別子と関連付け % % を挿入した部分で後ろに続く文字列と切り分けます。% の記号が挿入された文字列は、その文字列の直前にある識別子が空のときは表示されません。 直後の識別子と関連付け % % を挿入した部分後ろに続く文字列と切り分けます。% の記号が挿入された文字列は、この % 記号の直後の識別子が空のときは表示されません。