我有一个 Dart 命令行程序,希望能够将数据从 shell 传输到 Dart 程序(例如,cat file.txt | dart my_program.dart或者接受输入,直到用户使用Ctrl+d)。通过在线教程,我找到的关于保存标准输入输入的唯一文档是stdin.readLineSync(). 然而,顾名思义,这只读取第一行。
如何将标准输入的全部内容捕获到字符串中?另外,如果用户尝试通过管道输入一个非常大的文件,是否会存在任何安全问题?字符串的长度有限制吗?我该如何防范?
感谢您的帮助!
索引多维列表时,我得到一个奇怪的结果.以下面的例子为例:
void main() {
var multiList = new List.filled(4, new List.filled(4, "x"));
print(multiList);
// [[x, x, x, x], [x, x, x, x], [x, x, x, x], [x, x, x, x]]
multiList[2][1] = "A";
print(multiList);
// [[x, A, x, x], [x, A, x, x], [x, A, x, x], [x, A, x, x]]
// Expected result:
// [[x, x, x, x], [x, x, x, x], [x, A, x, x], [x, x, x, x]]
}
Run Code Online (Sandbox Code Playgroud)
当我尝试用值替换index [2] [1]时,该值将放在所有子列表中.
你知道为什么会这样吗?我怎样才能获得预期的结果呢?
谢谢您帮忙!