HSsprint帮助文档

· · 个人记录

感谢您阅读本帮助文档。

图形化版 https://shequ.codemao.cn/work/175878676

控制台版 https://shequ.codemao.cn/work/176756355

使用注意

1.一般的代码直接拷贝到HSsprint可能导致无法正常运行。 例如下面的代码。

?a 15
while !a!=!b
(
 get ?b
)

需要消除一切缩进格式,并且把换行部分替换为半角分号才可以输入至HSsprint(如下所示)。

?a 15;while !a!=!b;(;get ?b;) 

2.HSsprint的标点符号必须使用半角符号。

输入和输出

输入

get 变量

输入的值会赋值给“变量”。

输出

控制台版

out 输出内容

图形化版

out x坐标 y坐标 输出内容

提示:输出内容可以为变量也可以为一段话(2个版本均适用)。

变量

变量基本操作

HSsprint的变量没有很严格的类型限制,并且变量名称没有中英文的限制(当然,作者在这里更推荐使用纯英文作为变量名称,因为用中文变量名称可能会出现与系统变量冲突的情况)

变量名一般需要在变量名称前添加“!”或“?”这里命名为变量前缀。

那么如何正确添加变量前缀?其实很简单,如果只是调用这个变量,变量前缀就可以填“!”,如果是修改或命名这个变量时候,变量前缀就可以填“?”。

变量赋值

HSsprint的变量的运算可能与一般的编译器不同。具体的代码格式是:

变量 赋值内容/变量(注意:此处不能填写运算类内容)

为了方便大家理解,举一个例子:

?a hello

很好理解,变量“a”被赋值为了“hello”。

?a hello
?b !a

根据上述规则,变量“b”被赋值为了变量“a”的值,即“hello”。

变量运算

HSsprint的变量的运算可能与一般的编译器不同。具体的代码格式是:

match 变量 运算内容

这个代码约等于一般编译器的代码:

变量=运算内容

请注意,在HSsprint中“运算内容”的结果会直接赋值给“变量”因此,这个“变量”的变量前缀是“?”。同理,“运算内容”里面的变量的变量前缀就是“!”。

然后举一个例子:

?a 10
match ?a !a+10

控制台版:

根据上面讲述的规则,您轻而易举的就可以看出来最终变量“a”的结果是20。但是,实际上“a”最终的值是“1010”,因为系统把上述代码的第二行最后面的数字10理解为字符形式,所以它实际上执行的计算过程是“10”+“10”=“1010”。但是,这种问题很好处理,只要在数字前加入一个数字前缀“#”就可以解除这种小误会(适用于控制台版)

所以,这个代码的最终写法是:

?a #10
match ?a ?a+#10

图形化版:

根据上述规则,变量“a”的值并不是“1010”而是“20”因为系统会自动识别变量是不是为数字形式,无需添加数字前缀。

多维变量的使用(多维数组)

在HSsprint中,多维变量的格式是(下面的例子是二维变量(二维数组)):

变量(值/变量)(值/变量)

举一个例子

get ?num
?a(12)(12)(!num)
out !a(12)(12)(!num)

不要怀疑这个代码会无法运行,在HSsprint中,凡是没有定义过的变量/多维数组调用它们时返回的值一律为0(HSsprint容错机制)!

循环

在HSsprint中,循环只有一种形式:

while 条件
(
代码
)

具体的运行方式跟编程猫中“重复执行直到...”的积木很类似。

请注意:在HSsprint中括号是不可以省略的,哪怕它仅嵌套了一行代码。(本条规则适用于HSsprint中全部需要添加括号的内容)

判断

在HSsprint中,判断也只有一种形式:

if 条件
(

)
else_if 条件
(

)
else
(

)

本部分特别简单,所以具体运行方式就不进行详细讲解了。