如何在 BASIC V2 中 'manipulate' 字符串?
How to 'manipulate' strings in BASIC V2?
我想达成以下目标:
我向用户索要一个数字,然后输出如下字符串:
-STR$
--STR$
---力量值
----STR$
-----STR$
我试过这样做:
10 INPUT NUM%
20 FOR X=1 TO NUM%: PRINT NUM%*"-" + "TEXT" : NEXT
上面的代码给我一个错误:?TYPE MISMATCH EROR IN 20
但是,我还没有弄清楚如何操纵字符串的开头以在每个循环中乘以“-”标记 运行
我相信甚至更古老、更原始的 BASIC 形式都有 STRING$() 函数。它有两个参数:重复字符的次数和字符本身。所以...
10 INPUT NUM%
20 FOR X=1 TO NUM%: PRINT STRING$(NUM%, "-") + "TEXT" : NEXT
也许是这样:
10 INPUT NUM%
20 FOR I = 1 TO NUM%
30 FOR J = 1 TO I: PRINT "-"; : NEXT
40 PRINT " TEXT"
50 NEXT
没有 strings/character 的倍数,据我记得是旧的(好)时光。
备选方案:
100 INPUT NM%
110 BR$="----------"
120 PRINT LEFT$(BR$,NM%);
130 PRINT "TEXT"
这消除了对昂贵的 FOR
循环的需要,只要 NM%
不大于 BR$
的长度就应该没问题。
另一件需要指出的事情是,您的变量名有效地限制在两个字符以内,例如:
The length of variable names are optional, but max. 80 chars (logical input line of BASIC). The BASIC interpreter used only the first 2 chars for controlling the using variables. The variables A$ and AA$ are different, but not AB$ and ABC$.
(来源:https://www.c64-wiki.com/wiki/Variable)。出于这个原因,我使用 NM%
而不是 NUM%
;它将防止以后出现问题。
我想达成以下目标: 我向用户索要一个数字,然后输出如下字符串:
-STR$
--STR$
---力量值
----STR$
-----STR$
我试过这样做:
10 INPUT NUM%
20 FOR X=1 TO NUM%: PRINT NUM%*"-" + "TEXT" : NEXT
上面的代码给我一个错误:?TYPE MISMATCH EROR IN 20
但是,我还没有弄清楚如何操纵字符串的开头以在每个循环中乘以“-”标记 运行
我相信甚至更古老、更原始的 BASIC 形式都有 STRING$() 函数。它有两个参数:重复字符的次数和字符本身。所以...
10 INPUT NUM%
20 FOR X=1 TO NUM%: PRINT STRING$(NUM%, "-") + "TEXT" : NEXT
也许是这样:
10 INPUT NUM%
20 FOR I = 1 TO NUM%
30 FOR J = 1 TO I: PRINT "-"; : NEXT
40 PRINT " TEXT"
50 NEXT
没有 strings/character 的倍数,据我记得是旧的(好)时光。
备选方案:
100 INPUT NM%
110 BR$="----------"
120 PRINT LEFT$(BR$,NM%);
130 PRINT "TEXT"
这消除了对昂贵的 FOR
循环的需要,只要 NM%
不大于 BR$
的长度就应该没问题。
另一件需要指出的事情是,您的变量名有效地限制在两个字符以内,例如:
The length of variable names are optional, but max. 80 chars (logical input line of BASIC). The BASIC interpreter used only the first 2 chars for controlling the using variables. The variables A$ and AA$ are different, but not AB$ and ABC$.
(来源:https://www.c64-wiki.com/wiki/Variable)。出于这个原因,我使用 NM%
而不是 NUM%
;它将防止以后出现问题。