プチコン3号 SmileBASIC コミュニティプレイ日記SquidSky ugomemo_gorohati2017/01/23 19:06:19意外と知られていないかもしれません。GOTOなどでよく使うラベル表記ですが、変数にも代入できるようです。しかし、別にポインタ型でもなく、普通の文字列変数に入れられます。検証してみた結果、レンダリングエンジンが@LABELを文字列とみなして"@LABEL"に解釈しているようです。10そうだね 13返信プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿あまさと しおん ShionAmasato2017/1/23 19:07うん、いつだかのバージョンアップでそうなったんだって。3そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿SquidSky ugomemo_gorohati2017/1/23 19:11ということは、GOTOやGOSUBなどは"1:@LABEL"という文字列での指定も可能と書いていますが、結局はダブルクオーテーションで囲まれてない@LABELも文字列で渡されるんですね。1そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿あまさと しおん ShionAmasato2017/1/23 19:14たぶんそうだろうね0そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿あまさと しおん ShionAmasato2017/1/23 19:16ちなみに変更は3.1.0らしい Ver.3.1.0において追加・変更 (2015.3.4) 「ラベルを式中で使用すると文字列として扱われる」 3そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿はる HARUHI-09132017/1/23 19:38自分もそれを利用してDATA文にそのままラベル名を書いて、 この処理に行くとかをDATA文でやったりしたことがあります。2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿はる HARUHI-09132017/1/23 19:43GOTOでは、 ダブルクオーテーションで囲まれてないラベル名は文字列で渡されて無いっぽいです。 GOTO @LA+"BEL" END @LABEL ?"ラベルのテスト" としたら Syntax errorになりました。 間違っていたらすみません。2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿あまさと しおん ShionAmasato2017/1/23 20:08なるほどぉ0そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿おちゃめ ochame_nako2017/1/23 20:50はるさんへ GOTOの場合は文字列化の仕方が特殊で GOTO @LA+"BEL" は GOTO "@LA+"BEL"" として処理されているためSyntax errorとなっているのではないかと思います。 3そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿はる HARUHI-09132017/1/23 20:55おちゃめさん≫わざわざ解説ありがとうございます。2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿Godot orz_1272017/1/24 12:21それは知っていて、はるさんが言っているようにDATA文にも使えるので、これが仕様なら、色が変わって見易いので、そうしようかなと思っていたところw 仕様でないなら後のバージョンアップで動かなくなる可能性も。 上のあまさとさん情報によると、式では文字列扱いという仕様が判明。 DATA文でも""なしに文字列と解釈される、は仕様で良いのか?? どなたか情報持っています? 2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿あまさと しおん ShionAmasato2017/1/24 14:41わざわざ更新情報に書いてあるくらいだんだから仕様でいいんじゃない?2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿あまさと しおん ShionAmasato2017/1/24 14:46・@foo は "@foo" と等価に扱われる。 従来は命令引数としてラベルを与えたい場合、文字列として与える必要があったが、ラベルを直接記述できるようになる。 旧 COPY A,"@FOO" 新 COPY A,@FOO ※「一般的な式中のラベルリテラルは文字列定数として解釈するようになった」のであり、「ラベル型という値が増えた」のではない事に注意 ・式中ではラベルは文字列として扱われる事になるので、このような記述も可能。 A$=@FOO*3 '@FOO@FOO@FOO 書いてあった文章持ってくるとこんな感じ2そうだね プレイ済み2017/11/03 00:55:58に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿Godot orz_1272017/1/24 18:16あまさとさん 情報どうもです。 先程やっとそのページに辿りつけました。 DATA文のデータ部分には式が書けなかった気がするので「一般的な式中」に該当するかは、不明ですが、「ラベルリテラルは文字定数として解釈するようになった」を信じるなら問題無さ気。 で、データを読み取ってGOSUBするコマンドをライブラリ化して別スロットに置いたらスコープの問題で残念な事に orz それは置いておいて、スマブに仕様確認しようとしていた問題がひと片付いたのでよかった^^ 2そうだね プレイ済み2017/11/03 00:55:58に取得