在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
中避免尽可能多的句号/句点。在 PROCEDURE DIVISION header 之后。在段落/SECTION 标签之后。在段落/节标签之前。如果由于其他原因尚未使用,则在程序结束时。
对于段落/SECTION 标签之前的标签,我在第 12 列中将其放在单独的一行上。
关于Cobol - 写入的结束符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29106188/