プレイ日記
変数に文字入れたらエラーになります。INPUT以外に変数に文字入れられる命令ありますか?
2そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
linput "きみのなまえは? "; name$
2そうだね
プレイ済み
返信[2]
親投稿
ひろきち henahenachoco
変数は普通に使うと数字(値)しか入れられません。 変数の名前の後ろに $ を付けると、文字列を入れる変数になります。 文字列を入れる変数だと逆に値は入れられなくなります。
2そうだね
プレイ済み
返信[3]
親投稿
しんしん manashi3
変数には「型」というものが存在し、よく使うものであれば"あいうえお"といったものは文字列型、12345といった数字は整数型と言います(厳密には小数点がある値はまた違う型であるがプチコンではあまりはっきりと区別しないので省略)。 SmileBasicの場合、整数型の変数は「NUM」などといった何も付いていない英単語で表現し、文字列型の変数は「TEXT$」という風に語尾に「$」を付けて表現します。 また、へたれさんも説明されていますが変数は型が違う者同士を直接代入することができないという性質を持っており、例えば整数型に文字列型を代入することはできません。 つまり、今回のエラーは整数型の変数に文字列型の値を代入しようとしたことが原因です。 作文は苦手なので理解して頂けるか不安ですが、理解して頂けると幸いです。
3そうだね
プレイ済み
返信[4]
親投稿
まりを tomoyaTT88
じゃあ、LOCATE TX,TYも無理な訳だな!
0そうだね
プレイ済み
返信[5]
親投稿
ちなみに、INKEY$()という関数が用意されていて キーボードの入力があると、この関数から受け取れますが手順もいっぱい必要です NAME$="" WHILE 1 VSYNC LOCATE 0,0:?NAME$+" " C$=INKEY$() IF C$==CHR$(8) THEN 削除' D$=POP(NAME$) ELSEIF C$==CHR$(13) THEN '終わり BREAK ELSEIF C$!="" THEN '1文字ずつ追加 NAME$=NAME$+C$ ENDIF WEND
3そうだね
プレイ済み
返信[6]
親投稿
へたれさんできましたありがとうございます
1そうだね
プレイ済み