file - 在课堂上保存文件或频道的好习惯
问题描述
在下面的代码中,我正在尝试创建一个类,当通过方法询问时,该类可以将内容写入日志文件。在这里,我想知道这是否是用于此目的的惯用方式,或者可能有更推荐的方式,例如,持有一个单独的file
类型字段(出于某种原因)?换句话说,即使我只持有一个channel
类型也几乎没有问题吗?
class Myclass {
var logfile: channel;
proc init() {
writeln( "creating log.out" );
logfile = openwriter( "log.out" );
}
proc log( x ) {
logfile.writeln( x );
}
}
proc main() {
var a = new borrowed Myclass();
a.log( 10 );
a.log( "orange" );
}
解决方案
我相信你在这里做的事情是合理的。Chapel 中文件和通道之间的区别主要是为了支持该语言的并行计算主题,以便支持多个任务使用不同的通道(本质上是文件的视图)同时访问单个逻辑文件。在像您这样的情况下,您创建的通道下有一个文件,但如果您不需要与它进一步交互,则无需显式存储它。
所以我相信像你在这里一样简单地存储一个频道是没有实际问题的。
推荐阅读
- c# - unity - 键绑定打开和关闭动画
- swift - 单击按钮时需要删除内部阴影
- linux - 从蓝牙读取数据 - Android、Raspberry Pi Zero、蓝牙
- swift - 放松不起作用,我有正确的代码
- angular - Angular Universal SSR TransferState 只有第一页数据可用
- wordpress - 如何在 wordpress/genesis 搜索结果页面中将帖子优先于页面?
- django - Django-Bleach 还是只是 Bleach?
- spring - 试图让 Spring/Consul/Vault 一起工作
- java - 理解
, Res extends Response> in Java 方法声明 - r - 任何逻辑测试来区分数字对象的构成