如何在 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%;它将防止以后出现问题。