新規作成からサンプル実行まで
はじめに
Rust用の新規ステートマシンを作成した時のサンプルを動かす方法を紹介します。
サンプルでは、LoopやGosub機能が使われています。StatGoを初めて使う方にはちょっと難しい内容となっています。
そういう方は、環境整備と実行確認のみに使用して下さい。
Rustサンプル用の作業フォルダの作成
あらかじめ、Rustの環境をセットアップしてださい。
コマンドラインにて テスト用 Hogeパッケージを作成します。
> cargo new hoge
main.rsが作成されます。
StateGoの新規作成
1.StateGoを起動
2.スタートダイアログの新規作成ボタンを押す
3.ステートキットからRustを選択
4.ステートマシン名をhoge_controlに決定
rustの命名則に従うためスネル形式にします
5.main.rsと同じフォルダを指定
5.生成ボタンを押す
以下の2つのファイルが生成されます。
hoge_control.psgg --- StateGoデータファイル
hoge_control.rs --- 出力用のRustソースファイル
生成時のサンプルを動かす
生成時のサンプルを動かします。
(このサンプルはループとサブルーチン呼出しのサンプルです。)
1. Cargo.tomlに以下を書き足します。
※以下の内容はヘルプパネルにも記載されています。
[dependencies]
rand = "0.6"
2. main.rsを以下のように編集します
※以下の内容はヘルプパネルにも記載されています。
#[allow(dead_code)]
mod hoge_control;
use hoge_control::hoge_control::*;
fn main() {
let mut hc = HogeControl::new();
hc.run();
}
3. 実行します。
コマンドラインにて以下を入力します。
> cargo run
ビデオ
一連の操作をキャプチャしたものです。
サンプル動作説明
※高度な内容が含まれています。理解が難しい場合、次の"Step-by-step"チュートリアルにお進みください。
サンプルは、GOSUBとLOOPを使用しています。
GOUSBは、サブルーチンを呼び出します。
サブルーチンは、サブルーチン開始用のステートとリターン用のステートから成り立ちます。
LOOPは、初期値、条件、再初期化を指定してサブルーチンを呼出します。
サンプルのフローについて
1. ステート【0001】 StateGo is runningの表示
2. ステート【LOP000】 SBS001のサブルーチンを10回呼出し
3. ステート【GSB001】 SBS000のサブルーチン呼出し(1回)
4. ステート【0002】 ステート内で10回Update待ち
5. ステート【0003】 乱数を発生させ、奇数偶数で分岐
組込部分
右下に、乱数発生の関数を組込ステートで定義してあります。
【E_0000】 rand関数の実装
コメント
左上に、本サンプルの説明がコメントで定義してあります。
【C_0000】 説明