0

リストをサブルーチンに渡すのに苦労しています (恥ずかしい)。コンパイラ エラーが発生します。配列に関する BASIC-256 ドキュメント ( http://doc.basic256.org/doku.php?id=en:arrays[] ) に従い、必要に応じてサブルーチン引数に括弧を含めました。

subroutine print_list(list) # or subroutine print_list(list[]) <----- **compiler** error occurs here
   for element=0 to list[?]-1
      print list[element]
   next element
end subroutine

subroutine main()
   list = {5.9, 6.0, 5.9, 5.7, 5.6, 5.7}
   call print_list(list[]) #  <----- **compiler** error occurs here
end subroutine

call main()

コンパイラは、サブルーチン呼び出しの引数部分にエラーがあると文句を言います。

私はこれを修正しようとしました; (i) リストの初期化をチェックします。(ii) サブルーチンの定義とパラメータをチェックします (コンパイラは角かっこも好きではありません)。(iii) 括弧を引数から除外し、[](iv) BASIC-256 Facebook ページに連絡してみました。

お時間をいただきありがとうございます....

4

3 に答える 3

0

ドキュメントをよく読むと、関数またはサブルーチンへの参照によって変数または配列を渡すことができる「ref」という関数があります。これを行うと、配列の内容を印刷できます。

配列を参照渡しするように書き直した以前のコードを次に示します。

subroutine print_list(list)
   for element=0 to list[?]-1
      print list[element]
   next element
end subroutine

subroutine main()
   list = {5.9, 6.0, 5.9, 5.7, 5.6, 5.7}
   call print_list(ref(list)) 
end subroutine

call main()
于 2019-12-20T13:29:32.777 に答える