gpt4 book ai didi

delphi - WriteLn() 到底如何工作?

转载 作者:行者123 更新时间:2023-12-03 14:38:00 29 4
gpt4 key购买 nike

自恐龙时代以来,Turbo Pascal 和现在的 Delphi 都有 Write() 和 WriteLn() 过程,可以悄悄地做一些巧妙的事情。

  • 参数数量可变;

  • 每个变量可以是各种类型;您可以提供整数、 double 、字符串、 bool 值,并以任意顺序混合它们;

  • 您可以为每个参数提供附加参数:

Write('Hello':10,'World!':7); // alignment parameters

  • 它甚至以特殊的方式显示在代码完成下拉列表中:
    • 写入 ([var F:File]; P1; [...,PN] )
    • WriteLn ([var F:File]; [ P1; [...,PN]] )

现在我正在输入此内容,我注意到 Write 和 WriteLn 在代码完成下拉列表中没有相同的括号。因此看起来这不是自动生成的,而是由某人硬编码的。

无论如何,我可以自己编写这样的程序,还是所有这些都是一些神奇的硬编码编译器技巧?

最佳答案

Writeln 是我们所说的编译器“神奇”函数。如果您查看 System.pas,您将找不到一个像您所期望的那样声明的 Writeln。编译器实际上将其分解为对各种特殊运行时库函数的单独调用。

简而言之,在不修改编译器的情况下,无法实现您自己的版本来完成与内置 writeln 相同的所有操作。

关于delphi - WriteLn() 到底如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617654/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com