配列① 一次元配列 『HSP3』


今回は配列についてみていきます。

dim p1,p2
  p1: 配列名
  p2: 配列要素数
 
1.
2.
3.
4.
5.
6.
7.
【例1】
dim arr ,3
arr(0) = "a"
arr(1) = "b"
arr(2) = "c"
repeat 3
    mes arr(cnt)       
loop
  【結果】
a
b
c

1行目で配列を指定しています。配列指定には「dim」を使います。【例1】では「arr」という名前の配列名で要素3つ分を準備しています。要素の添字(インデックス)は「0」からスタートしますので、arr(0) , arr(1) , arr(2) という3つの要素ができています。2から4行目で各要素に値を入れていってます。6行目でループしながら要素の内容を表示しています。「cnt」はシステム変数で0からループごとに1づつ増えます。

 
1.
2.
3.
4.
5.
【例2】
dim arr ,3
arr = "a","b","c"
repeat 3
    mes arr(cnt)       
loop
  【結果】
a
b
c

【例2】のように要素は、カンマで区切って一回で代入することができます。

 
1.
2.
3.
4.
5.
【例3】
dim arr ,3
arr = "a"
arr(1) = "b","c"

repeat 3
    mes arr(cnt)       
loop
  【結果】
a
b
c

【例3】の3行目のように要素指定でカンマ区切りの文字列を代入することもできます。この場合は、要素1に対して代入しているので、arr(1) に「b」、arr(2) に「c」が代入されます。

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
【例4】
dim a ,1
a(0) = 1
mes a(0)
dim b ,1
b(0) = 1.1
mes b(0)

dim c ,1
c(0) = "a"
mes c(0)
  【結果】
1
1.100000
a

配列a には「整数」、配列bには「実数」、配列cには「文字」を代入しています。他のサイトなど調べてみるとよく「dim」は整数型と書かれていますが、特に他の型でもエラーになりませんでした。

 
1.
2.
3.
4.
5.
【例3】
dim arr ,3
arr = 1,1.1,"a"
repeat 3
    mes arr(cnt)       
loop
  【結果】
#Error 31 in line2
異なる型を持つ配列変数に代入しました

同じ配列に違う型を代入しようとしました。しかし「異なる型を持つ配列変数に代入しました」とエラーになります。配列には「整数」「実数」「文字」どれでも代入することができますが、同じ配列の要素には異なる型は混ぜれないようです。「整数型」ならば全要素「整数型」にしなければなりません。


「dim」の代わりに「ddim」、「sdim」に変えて実行しても上記の例では実行できました。他のサイトなどみてみるとバイト数の違いとかあるようです。次回のブログ予定の多次元配列では上記3命令の使い分けがでてきそうです。また、「dim」「ddim」」「sdim」の違いを整理してみます。
 


「配列① 一次元配列 『HSP3』」への1件のフィードバック

コメントを残す

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