Cobol - 写入的结束终止符?
Cobol - End terminator for write?
在Cobol中,是否需要在write语句后加上end-write。例如考虑以下内容:
write something from something after advancing 1 lines.
end-write.
我们需要像上面那样做吗?或者就这么好:
write something from something after advancing 1 lines.
当我在没有 end-write
的情况下进行编译时,我没有收到任何编译器警告,这与我不使用 end-read 或 end-if 时收到编译器警告不同。
有人能帮我理解一下吗?
仅在使用INVALID KEY
或NOT INVALID KEY
时才需要END-WRITE
。
在其他情况下您不需要它。尽管您可以随时使用它,但如果您愿意的话。
我不使用 INVALID KEY/NOT INVALID KEY
,也从不使用 END-WRITE
(或 END-READ
、END-OPEN
、END-CLOSE
、END-START
) .相反,我在 SELECT
语句中使用 FILE STATUS
子句,并在每次 IO 操作后测试 FILE STATUS 字段。
如果您习惯于编写现代 COBOL(符合 1985 标准),那么您应该尽可能避免在 PROCEDURE DIVISION
中使用 full-stops/periods。在程序部分之后 header。在 paragraph/SECTION 标签之后。在 paragraph/SECTION 标签之前。如果由于其他原因尚未使用,则在程序末尾。
对于 paragraph/SECTION 标签之前的标签,我将其 full-stop/period 单独放在第 12 列中。
在Cobol中,是否需要在write语句后加上end-write。例如考虑以下内容:
write something from something after advancing 1 lines.
end-write.
我们需要像上面那样做吗?或者就这么好:
write something from something after advancing 1 lines.
当我在没有 end-write
的情况下进行编译时,我没有收到任何编译器警告,这与我不使用 end-read 或 end-if 时收到编译器警告不同。
有人能帮我理解一下吗?
仅在使用INVALID KEY
或NOT INVALID KEY
时才需要END-WRITE
。
在其他情况下您不需要它。尽管您可以随时使用它,但如果您愿意的话。
我不使用 INVALID KEY/NOT INVALID KEY
,也从不使用 END-WRITE
(或 END-READ
、END-OPEN
、END-CLOSE
、END-START
) .相反,我在 SELECT
语句中使用 FILE STATUS
子句,并在每次 IO 操作后测试 FILE STATUS 字段。
如果您习惯于编写现代 COBOL(符合 1985 标准),那么您应该尽可能避免在 PROCEDURE DIVISION
中使用 full-stops/periods。在程序部分之后 header。在 paragraph/SECTION 标签之后。在 paragraph/SECTION 标签之前。如果由于其他原因尚未使用,则在程序末尾。
对于 paragraph/SECTION 标签之前的标签,我将其 full-stop/period 单独放在第 12 列中。