Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
プレイ日記
Ryou Tanpo
◆AI5iRr9FjmkJ
2018/2/1 21:28
DATA の値を、型を気にすることなく安全に読み取るライブラリを作成しました。次の DATA の型をチェックしながら、読み取ることができます。
需要あるかわかりませんが。
公開キー 【4RY3EEBD】
EXEC "PRG1:DATALIB"
INITDATA
で初期化できます。詳しい使い方はコメントへ
コメント
Ryou Tanpo
2018/2/1 21:30
◆AI5iRr9FjmkJ
HAS() が TRUE を返している間は GET() で READ 相当の操作が行えます。GET() は別の公開関数を内部で呼び出しています
PRINT GET()
Ryou Tanpo
2018/2/1 21:33
◆AI5iRr9FjmkJ
◯番目の DATA の値を読み込むには GETAT() を使います。
PRINT GETAT(4)
範囲外ではエラーを起こすので、DATA の数を返す DATACOUNT() を使って
' DATA は 5 以上ある
IF DATACOUNT()>=5 THEN ...
のようにしてください。
Ryou Tanpo
2018/2/1 21:38
◆AI5iRr9FjmkJ
HAS() が TRUE を返しているときに 次の DATA の型のチェックをするには TYPE() を使います。必ず GET() を使う前に呼び出してください。そのうち使い勝手は改善したいと思います。
TYPE() は型に応じて % # $ のいずれかを返します。
IF HAS() THEN
PRINT TYPE(),
PRINT GET()
ENDIF
とすると、次の DATA があるときに、型情報と値を表示してくれます。
Ryou Tanpo
2018/2/1 21:40
◆AI5iRr9FjmkJ
注意しなければならないのは、先ほどの例で
PRINT TYPE(),
PRINT GET()
とあるところを
PRINT TYPE(),GET()
とはできないということです。
後者では、SmileBASIC の仕様上 GET() から先に実行されます。そのため TYPE() が後に実行されることになります。GET() は実行された時点で内部のカウントを進めるので、最後のあたりで TYPE() を実行した時にエラーが発生してしまいます。
コメントを書く
この投稿にはコメントできません。
-
WEB PATIO
-