syntax - 意外标记附近的 Pascal 语法错误
问题描述
我试图找出这段 Pascal 代码的问题
function Factorial(n: integer): integer;
begin
if n = 0 then
Result := 1
else if n > 0 then
Result := Factorial(n - 1) * n;
end;
当我运行代码时,出现错误 -bash: syntax error near unexpected token `n:'
任何人都可以告诉这是为什么?我正在使用 fpc(免费的 Pascal 编译器)此代码是否适用于不同的 Pascal 编译器?
解决方案
该代码在 fpc 中编译得很好。
正如@KenWhite 所说,从您引用的错误消息中,听起来您使用了错误的工具来尝试编译它 -bash
是 Linux 的操作系统外壳,它是一条bash
错误消息。 bash
不适用于编译 Pascal 代码。
我建议您下载并使用 Lazarus,它是用于 fpc 的免费软件 IDE,可在 Linux 和 Windows 上运行。在系统上安装 Lazarus 后,创建一个新项目(Lazarus 的新项目类型列表中的“简单项目”。然后复制/粘贴begin ...end
项目源代码上方的代码,然后保存并编译它,你会看到Lazarus 报告成功编译了该项目。
顺便说一句,代码中有一个遗漏 - 它仅涵盖 n 大于或等于零的情况,因此对于 n 小于零,该函数具有未定义的结果。
推荐阅读
- c++ - C++ Gnu C++ 9.2 对概念和约束的支持
- java - 如何解决 JavaFX 项目中的“需要位置”
- c# - 如何让相同的属性名出现两次?
- amazon-web-services - 从控制台与 CLI 创建时如何确保 S3 前缀相同?
- three.js - 如何转换这个 Three.js 调用?
- django - 没有提交按钮的 Django 表单模板
- mysql - 如何使用另一个表的主键在 MySQL 数据库中插入一个值
- typescript - 在 TypeScript 3.8 中扩展字符串
- java - 我的 Logcat 不工作,要么不打印任何东西,要么出现 eof Logcat 错误
- rasa - 发现的虚拟环境好像坏了 | 天天要闻 蟒蛇诗