我对这个编程挑战感到很困惑——我不知道它是用什么语言编写的(这是乐趣的一部分,但我需要一些帮助)。我不是在寻找挑战的答案,即在代码中找到错误,所以不要为我破坏它。我只需要找到它使用的好语言。代码挑战的前提是代码中只有一行存在错误,因此我们必须接受不止一行的所有内容。
我徒劳地试图弄清楚。我查看了rosettacode,但在那里我什至找不到任何像这样的东西。它看起来最接近的是Algol 60,但严格来说它不是那里定义的 Algol 60 。有各种各样的问题。一方面,%
Erlang 中的注释以 like 开头。在define
Algol 60 中没有,奇怪的<unsigned number> #
语法也没有。Algol 60 还对标识符使用了转义语法(它们有一个单独的命名空间,通常以粗体打印)——这也无处可见。
看看我熟悉的不太流行的东西,它不在 IEC 61131-3 中,也不是 HAL/S。
begin
% Speed of light in meters/second
define c=2.99792458e8#;
% Convert frequency in Hz to free-space wavelength in meters.
real procedure wavelength(frequency);
value frequency;
real frequency;
wavelength := c/frequency;
real f, lambda;
lambda := wavelength(f);
end.