「日本語プログラミング言語Mindの小技」という記事シリーズ
Qiita(キータ)という主にソフトウェア技術者向けのナレッジコミュニティに「日本語プログラミング言語Mindの小技」という記事シリーズを投稿してます。
今回は下記の記事を投稿いたしました。
日本語プログラミング言語Mindの小技 「合成」~文字列の簡易な合成~ #mind - Qiita
アメーバブログの読者様には内容を要約してご紹介します。
「合成」~文字列の簡易な合成~
Mindの文字列連結(簡易な合成)機能
-
Mind における 文字列連結(簡易な合成)機能。
-
スタックに積まれた 2つ以上の文字列を連結し、1つの文字列として返す
-
合成用の文字列実体変数は4本だけ → 5回以上連続して合成すると、1回目の結果が上書きされる。
-
文字列実体変数のサイズは 2048 バイトまで → 合計サイズが超えると 後ろが切り捨てられる(エラーは出ない)。
サンプルプログラムの解説
制約による問題の例
-
5回連続で合成してスタックに積み、後から5つ取り出すと、 最初の合成結果が上書きされて別の内容になってしまう。
-
合成結果を 都度、独自の文字列実体変数に格納する。
-
これにより、ランタイム内部の4本の循環バッファに依存せず、 安全に複数回の合成結果を保持できる。
-
文字列情報(ローカル変数)ではなく、 文字列実体変数に格納することが重要。
Mindサンプルプログラムソース
combine2strings.src
文字列を5回連続合成して表示するとは (・ → ・)
「あい」と 「こい」を 合成し (「あい」、「こい」→「あいこい」)
「あき」と 「ふゆ」を 合成し (「あき」、「ふゆ」→「あきふゆ」)
「あめ」と 「はれ」を 合成し (「あめ」、「はれ」→「あめはれ」)
「あさ」と 「よる」を 合成し (「あさ」、「よる」→「あさよる」)
「あゆ」と 「さば」を 合成し (「あゆ」、「さば」→「あゆさば」)
5回 回数指定して 一行表示 繰り返す
改行する。
文字列を安全に5回連続合成して表示するとは (・ → ・)
文字列実体1は 文字列実体
文字列実体2は 文字列実体
文字列実体3は 文字列実体
文字列実体4は 文字列実体
文字列実体5は 文字列実体
「あい」と 「こい」を 合成し 文字列実体1に 入れ 文字列実体1をつむ
「あき」と 「ふゆ」を 合成し 文字列実体2に 入れ 文字列実体2をつむ
「あめ」と 「はれ」を 合成し 文字列実体3に 入れ 文字列実体3をつむ
「あさ」と 「よる」を 合成し 文字列実体4に 入れ 文字列実体4をつむ
「あゆ」と 「さば」を 合成し 文字列実体5に 入れ 文字列実体5をつむ
5回 回数指定して 一行表示 繰り返す
改行する。
メインとは (・ → ・)
文字列を5回連続合成して表示し
文字列を安全に5回連続合成して表示する。
🧪 Mind7/8/9での対応と動作確認
対応バージョン:Mind7, Mind8, Mind9β(Windowsで確認済み。Mind8Linux未検証)
実行結果の解説など詳しくはQiitaの記事をご参照ください。
日本語プログラミング言語Mindの小技 「合成」~文字列の簡易な合成~ #mind - Qiita
「日本語プログラミング言語Mindの小技」のご紹介
Mindのプログラミングマニュアルからお題の小技を決めて、サンプルコードを書いて説明しQiitaに投稿してみるという企画です。
興味を持たれた方は[日本語プログラミング言語Mind公式サイト]
https://www.scripts-lab.co.jp/mind8download/download.html
にアクセスすると、Mindコンパイラをダウンロードできますので、ご参加ください。
面白い!、楽しい、カンタン、難しいのも書ける!みんなでやってみよう。
