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

アバター
RF-4E ◆2Fao.QP8H0Nw
2020/8/4 13:17
質問
文字の数字を数字にする方法
文字の数字を数字に変えたいです。
試しに下のようなのを作って見ました
@LOOP
LINPUT ">";PRG$
A=A*10
IF LEFT$(PRG$,1)=="1" THEN A=A+1
IF LEFT$(PRG$,1)=="2" THEN A=A+2



PRG$[I][0]=""
GOTO @LOOP
これで、前から順番にPRG$に入ってる数字をAに移したいのですが…
どうすれば良いでしょうか

コメント

アバター
ugly777 2020/8/4 13:36 ◆B7lOIJDWuOqi
VALを使えば良いのでは。
http://petitcom.net/manual/val
アバター
takumi 2020/8/4 15:02 ◆Ce3Q40uXWJjn
ugly777さんの言う通り、VAL命令が最短だと思います。

@LOOP
LINPUT ">";PRG$
A=VAL(PRG$)

これでAにPRG$内の数字が変数として入ります。
アバター
あまさとしおん 2020/8/4 16:23 ◆mzDKTVUAtwqE
ちなみに
PRG$[I][0]=""
は見た目のままで、PRG$[I]の0文字目を空文字列に置換してますね
(という高度なテクニックが使えるのにVALが使えないのは驚く)

SHIFT()の戻り値が邪魔なときに
変数$[0]=""
ってよくやりますね

同じノリでPOP()は
変数$[LEN(変数$)-1]=""
とも書けます。
アバター
RF-4E 2020/8/4 16:42 ◆2Fao.QP8H0Nw
VAL命令があるんですね知りませんでした

PRG$[I][0]==""は、あまさとしおんさんの言う通りで、PRG$の前一文字目を消すためにやりました。
ちょっと前に他の人から教わったものですね
コミュニティ内検索で一文字目 FILES で検索すれば出てくると思います

今作って居るのは、LOGO坊の再現でLINPUTでPRG$を入力して、頭から順番に読んで走らせて消すを繰り返してやっていく仕組みを考えてます。
数字もはじめから何処までかわからないので
頭から読む

Aに入れる

消す

次に数字があったら前の数字を×10する

次の数字をAに足す

の繰り返しをしようとしていました
アバター
ugly777 2020/8/4 18:17 ◆B7lOIJDWuOqi
というか、
A$[B][C]
は文字列配列A(※1)のB番地(※1)のC文字目(※2)という事なので、
文字列変数に使いたいなら、
C$[D]
という文字列変数CのD文字目(※2)になる書き方が良いと思います。
(※1)
用語がうろ覚えなのでこの投稿の為に適当に付けた名前です。
あまり当てにしてはいけません。
(※2)普通の文章でのn文字目はプチコンだとn-1文字目だったりします。
例:"ABC"の"A"の部分は普通は1文字目だけれど、プチコンだと0文字目。
アバター
RF-4E 2020/8/4 21:09 ◆2Fao.QP8H0Nw
とりあえず、LOGO坊もどきを作りました。
公開キー RKRXD2HE
FD 100 百歩前に進め
RT 90 右に90°向け
LT 90 左に90°向け
HOME 元の位置に戻れ
PU ペンを上げろ
PD ペンを下げろ
の命令が使えます。
今のところ命令は1つずつしか使えないので、FD 100 RT 90見たいな続けて書かれた命令文も使える様にする予定です。
また、repeat命令を追加して[]の中を繰り返せる様にすること
10*10とか10*n等の計算が出来るようにする事を目指します

教えてくださってありがとうございました

コメントを書く

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

- WEB PATIO -