2017年2月24日金曜日

[UWSC]配列変数と関数 [使い方まとめ]

UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、配列変数を関数に渡す、関数の戻り値を配列変数に入れる方法をまとめました。

記事の内容

○配列を関数の引数として渡す方法
○配列を戻り値として返す関数

スマホで閲覧されている方へ
この記事をスマホで閲覧はするのは難しいと思いますので、ウェブバージョンへどうぞ。

扱うデータ量が大きくなってくると配列変数は便利です。同じように関数も便利です。UWSCでは関数に配列変数を渡したり、関数から配列変数をもらったりできるのでさらに便利。というわけで、関数への配列の渡し方、関数の戻り値を配列で返す方法をまとめます。


配列を関数の引数として渡す方法

関数側では、FUNCTION 関数名(A[])と定義し、呼び出し側では、R=関数名(hairetu)と、[]なしで引数を渡します。

詳細な例は以下です。
配列を引数とした関数の書き方
1
2
3
FUNCTION poku(A[])
    RESULT=A[0]
FEND
関数プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,3行目1
3
FUNCTION poku(A[])
FEND
関数宣言:
配列変数を関数の引数としたい場合は、引数の表記を“配列[]”とします。
2行目2    RESULT=A[0]
RESULTに関数の戻り値を代入します。
※この例では、A[0]を返すことにします。

呼び出し側は、
引数として配列を渡す(呼び出し側)
1
2
3
4
5
6
7
8
DIM hairetu[5]
    hairetu[0]=5
    hairetu[1]=4
    hairetu[2]=3
    hairetu[3]=2
    hairetu[4]=1
    R=poku(hairetu)
    //Rには5(つまりhairetu[0])が入る
呼び出し側説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1~8行目1
2
3
4
5
6
7
8
DIM hairetu[5]
    hairetu[0]=5
    hairetu[1]=4
    hairetu[2]=3
    hairetu[3]=2
    hairetu[4]=1
    R=poku(hairetu)
    //Rには5(つまりhairetu[0])が入る
1行目: 配列宣言
2~6行目: 配列へ値を代入
7行目: 関数呼び出し

変数Rには5(つまりhairetu[0]が入る。
poku()関数ではA[0]を返すように書いてあるから。


配列を戻り値として返す関数

関数内で配列変数を定義し、RESULT=SLICE(配列名,先頭要素番号,最終要素番号)とし、呼び出し側では、hairetu=関数名()とします。配列変数の最大要素番号の宣言(DIM hairetu[4]など)は必要ないようです。

詳細な例は以下です。
配列を戻り値として返す関数
1
2
3
4
5
6
7
8
9
FUNCTION poku()
    DIM A[5]
    A[0]=5
    A[1]=4
    A[2]=3
    A[3]=2
    A[4]=1
    RESULT=SLICE(A,0,4)
FEND
関数プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,9行目1
9
FUNCTION poku()
FEND
関数宣言:
配列を戻り値として返す関数の例です。
2~7行目2
3
4
5
6
7
    DIM A[5]
    A[0]=5
    A[1]=4
    A[2]=3
    A[3]=2
    A[4]=1
配列変数を宣言して代入しています。
8行目8    RESULT=SLICE(A,0,4)
関数の戻り値として配列変数を返したい場合は、
RESULT=SLICE(配列名,先頭要素番号,最終要素番号)
とします。

呼び出し側は、
配列を戻り値として返す関数(呼び出し側)
1hairetu=poku()
呼び出し側プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1行目1hairetu=poku()
1行目を実行すると、
変数hairetu[]には、poku()関数内の記述通り代入されます。
※hairetuには、hairetu[0]=5、hairetu[1]=4、hairetu[2]=3、hairetu[3]=2、hairetu[4]=1が代入される。
呼び出し側では、配列変数の最大要素番号の宣言(DIM hairetu[4]など)は必要ないようです。


記事の内容

記事の内容は伝わりましたでしょうか。
○配列を関数の引数として渡す方法
○配列を戻り値として返す関数


関数群のダウンロードはこちら
func_poku.uwsのコメント欄に呼び出し方が書いてあります。


【関連記事】[UWSC]firefoxやchromeを操作できるか試してみる関数
[UWSC]配列のサイズを変更する二【要素を挿入・追加】
[UWSC]配列のサイズを変更する一【要素を削除】
[UWSC]配列の最大要素を返す関数


スポンサーリンク



↓ Ctrlキーを押しながら ↓

ブログ村へ blogramのブログランキング

ポク太郎の「俺の説明聞いてくれ」 コンテンツ
ポク太郎の「俺の説明聞いてくれ」最キラー記事 IT関連
映画・ドラマ・芸能
ブログ運営
アホの雑記
ホームへ戻る

スポンサーリンク





0 件のコメント:

コメントを投稿