CF2.5 標準機能:Fastloops( 高速ループ )と ForEach についての解説


ループ処理を使いこなそう

CF2.5 から標準機能( Built-in )となった「 ForEach 」を含めた「ループ処理」に関する公式ドキュメントが PDF で配布されています。

参考:Fastloops and ForEach Loops - Develop further in 2014

参考:An introduction to Fastloops and ForEach Loops (Built-In)
routine
 

ルーチン ? ってなに ??

一定のパターンで行う命令の集合体であり、日常的には一連の決まった動作や作業などを「ルーティン(ルーチン)ワーク」などと呼びます。

例えば、刺身のツマにタンポポ(食用菊)を添えるお仕事なんかが「ルーティンワーク」と言えます。下の写真はプーチンです。

Putinプログラミング言語的には非常に重要な概念です。繰り返し行われる作業(処理や命令)をまとめたものであり、一般的には戻り値が無いものを「プロシージャ」、戻り値があるものを「関数(ファンクション)」などと区別します。

CF2.5 には標準機能として MMF2 から使われていた Fastloops (高速ループ)に加え、エクステンションとして知られていた「 ForEach 」相当機能が内蔵されており、今回配布されているドキュメントはこの「拡張された For = ForEach 」についての解説も含まれた公式のドキュメントとなります。

ドキュメントのターゲットは全ての CF2.5 ユーザ向け、初心者から上級者まで幅広く読んでもらえる内容を目指したようです。

関連:チュートリアル (CF2.5)
関連:Snail On (YouTube)

ループ処理は脱初心者にとっての壁?

本来パワフルな機能ですが、ループ処理が理解できずに泣きが入るユーザは海外でも多いようです。昔から言われていますが、ループ処理の便利さは開発言語初学者には理解し難いものだと。そしてここからは言語的な使いこなしセンスの有り無しもかなり出てきます。

基本的に内部でなにやってるのか見えにくいこともあって、誤用や無駄なループを回しまくってゲーム動作を非常に重いものにしてしまうユーザも多く、今後 CF2.5 デベロッパー版にはプロファイラが付く予定なのですが、無駄な(不効率な)ループ処理を発生させやすいのも MMF2 や CF2.5 のループ処理の特徴と言えるかも。

MMF2 や CF2.5 はプログラミング言語ではないため、フレームエディタを通じた視覚的な認識や理解や簡単に動かせる楽しさが優先されることもあって、感覚的な修練が必要なルーチンとかループ処理とかについて理解を妨げているのかもしれません。

個人的にはまずプログラム言語(スクリプト言語で良い)で動作を覚えた方が適切なループ処理の感覚は身につくし学習も楽だと思うので、MMF2 や CF2.5 で無理してループ処理を覚えないほうがいいんじゃねーかなくらいに考えています。

関連:インビルト・ペアと ForEach (OnEach) について
yaruoprester.org/mmf2 でも過去にループ処理に関するドキュメントは結構書いていて、今回の PDF の内容だったら余裕でカバーしてる気もしました。過去にも書きましたが、これは習うより慣れろです。


Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です