コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
Na ◆QoELVrBXBQCI
2019/7/10 22:39
情報交換
0で終わるDATAの文字列READ
WHILE 1
RD1 OUT ,R$
IF R$=="" THEN BREAK
?R$
WEND
DEF RD1 OUT A,R$
READ A
IF (A==0)==3 THEN R$=A ELSE R$=""
END
DATA "1","2","3",0
DEFの引数は省略できるとかDEFの引数は型チェックしないとか文字列と数値比較すると3が返るとか
知ってることを適当に合わせたらなんかできちゃったんですけど
これはもっと簡単にできますか?
DEFの仕様よくわかってないので...

追記 3号です
追記 左上驚いた顔にするの忘れた

コメント

アバター
ZEX 2019/7/11 3:04 ◆RrwFtq39WJM3
文字列DATAの終端は数値にするより""とかにした方が効率良くない?
アバター
イスターリャ 2019/7/11 7:34 ◆yQQqD0WLNtDY
@ZEXさん
BGMSETD用のデータをそのまま読めるメリットがあります
ひとまず思いつくのはそれくらいですが
アバター
Ryou Tanpo 2019/7/11 8:06 ◆AI5iRr9FjmkJ
DEF READSTRING(OUT$)
IF #FALSE THEN VAR DATA$[0]

' Read data
READ DATA$

' The data is not string
IF (DATA$>1)>1 THEN RETURN #FALSE

' Empty output buffer
WHILE LEN(OUT$) && LEN(POP(OUT$))
WEND

' Return output
INC OUT$, DATA$

RETURN #TRUE
END



' TEST
DATA "CDEFGRRR"
DATA "GFEDCR<C"
DATA 0

VAR MML$

WHILE READSTRING(MML$)
? MML$
WEND



これで動くかなぁ
アバター
Ryou Tanpo 2019/7/11 8:08 ◆AI5iRr9FjmkJ
簡単じゃなくなっちゃった
アバター
Na 2019/7/11 19:31 ◆QoELVrBXBQCI
DATA$が文字列の時(DATA$>1)が3になるので
IF (DATA$>1)<=1 THEN RETURN #FALSE
とすれば動きました。
でもなんでー?
誰か解説
特にIF FALSE THENのところ
アバター
Ryou Tanpo 2019/7/11 21:04 ◆AI5iRr9FjmkJ
あっすみません!
ご指摘の所が逆でしたね…

ちなみに

IF FALSE THEN 〜

については、このように絶対到達しない場所を作り、そこで配列を宣言すると未初期化の状態となり以降で数値も文字列も格納できる挙動を利用してます。未初期化の状態では PRINT はエラーを吐きます
一度代入したら型が確定するんだっけな……?
アバター
Na 2019/7/11 21:20 ◆QoELVrBXBQCI
>Ryou Tanpoさん
ありがとうございます!
アバター
ツララ 2019/7/12 11:43 ◆ArUdBYOYME1V
ふむ、つまり「代入」しないで「参照」だけで利用する変数を作れば
型の制限は無視できるってことなんですね。

戻り値が一つだけでいいなら A=USER(X) の書式の方が実際に使う場合にはスマートと。

Naさんはこういうロジックを弄る系が好きなんだったら
ソースコードと同じ記述をそっくりそのまま出力するクワイン(Quine)とか
挑戦してみたらいいんじゃないんです?
アバター
みなつ 2019/7/12 12:02 ◆hJTkStjweib1
>文字列と数値比較すると3が返る
な・・・なんですとー!?Σ(・ω・ノ)ノ

やってみましたが、たしかに3が返りました・・・・すごいー(゜◇゜)
アバター
Na 2019/7/12 19:57 ◆QoELVrBXBQCI
Quine...ロジックを弄る系が好きかどうかはわかりませんが暇な時にやってみます。

文字列と数値を比較すると3が返るはhttp://wiki.hosiken.jp/petc3gou/?Memo
DEF引数の省略はhttp://wiki.hosiken.jp/petc3gou/?Mame%2FDEF%20%B0%FA%BF%F4%A4%CE%BE%CA%CE%AC
DEF引数の型チェックをしないはDEFのヘルプにのっています。
アバター
RaymondTwece 2023/1/9 16:30 ◆PMN9ZnbINm88
Shop Acc F.B - Mua Bn Nick FB C Bn Hng Uy Tn
Shop Acc Face.book - Mua Bn Nick FB C Bn Hng Uy Tn Mua Bn Cu.ng C.p N.ick Face.book, A.cc... n12, Thu Dau Mot, Bnh Dng Province, Vietnam.
Visit website!

https://taikhoan.co

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -