早先虽然作过粗浅调研,但一直没写过例程。用 猜数字 入个门。

以下在「抚子3」的 (用于中学教学 的是可用于桌面开发的抚子v1)在线环境 运行。

条件语句

もし 发音是 moxi,ならば 是 naraba,違えば 是 qigaeba,と 是 to,ここまで 是 kokomade,其中几个挺耳熟。

想的=5
猜的=6
もし、猜的=想的ならば
  「中了!」と表示
違えば
  「再猜」と表示
ここまで。

比较特别的是,比较相等用的是 = 而非 == 之类。运行输出:“再猜”。

加上并列条件判断:

想的=5
猜的=5
もし、猜的>想的ならば
  「大了」と表示
違えば、もし、猜的<想的ならば
  「小了」と表示
違えば
  「中了!」と表示
ここまで。

随机数

API 列表 找到了 随机数

开头加上 10 以内的随机数,不用导入其他库挺方便:

想的=(10の乱数)+1
想的を表示。
猜的=5
もし、猜的>想的ならば
  「大了」と表示
違えば、もし、猜的<想的ならば
  「小了」と表示
違えば
  「中了!」と表示
ここまで。

“执行”输出:

3
大了

循环

没找到类似 break、continue 的语法,用类似 do…while() 的这个结构:

想的=(10の乱数)+1

想的を表示。
猜的=1

後判定で繰り返す

もし、猜的>想的ならば
  「大了」と表示
違えば、もし、猜的<想的ならば
  「小了」と表示
違えば
  「中了!」と表示
ここまで
猜的を1増やす

ここまで、(猜的≠想的)の間。

页面无响应。像是死循环了。

火狐提示页面脚本跑飞,选择暂停(很不错,之前用另一个浏览器没提示)。

输出果然是:

1
中了!
大了
大了
大了
【无尽循环】

刷新后,没有缓存(后发现有保存按钮,之后可以打开保存的:

保存

打开

再运行,结果输出:

10
小了
小了
小了
小了
小了
小了
小了
小了
小了

然后是

4
小了
小了
小了

意识到递增应放循环开头:

想的=(10の乱数)+1

想的を表示。
猜的=0

後判定で繰り返す

猜的を1増やす  <---- 这句放到了循环开头
もし、猜的>想的ならば
  「大了」と表示
違えば、もし、猜的<想的ならば
  「小了」と表示
違えば
  「中了!」と表示
ここまで

ここまで、(猜的≠想的)の間。

输出如期:

3
小了
小了
中了!

另外,调试时粘贴代码时漏了最后一行:

想的=(10の乱数)+1
想的を表示。
猜的=5
もし、猜的>想的ならば
  「大了」と表示
違えば、もし、猜的<想的ならば
  「小了」と表示
違えば
  「中了!」と表示

报错如下,内容还可以,但行数定位似乎不准,第6行是“「大了」と表示”之后而非整个条件块最后:

[エラー][文法エラー]main.nako3(6行目): 『もし』文で『ここまで』がありません。

获取输入

没找到类似 Python 的 input() 方法,也没看到在线环境的交互部分。回头问问。

感觉代码覆盖了一些最基本的日语语法,可让会编程的外国人练习日语。

参考