如何从 Playground 中的 Readline 访问变量
How to access variables from Readline in a Playground
我有一个挑战,我要提供两行数据
2 3
1 2 3 4 5
我必须访问此数据并将其放入两个变量(2 和 3)中,并将第二行放入数组中。我收集到的这个挑战的一部分是阅读这条线并做类似的事情:
func readIntegers() -> [String] {
return readLine()!.componentsSeparatedByString(" ").map { [=10=] }
}
如何将以上数据输入 Playground 以便我可以使用 ReadLine() 访问它?我必须这样做,因为这是 HackRank 网站提供的界面的要求,但我想在 Playground 中模拟它。我目前可以看到代码编辑器和调试区域。是否有数据输入面板?
您可以使用
重定向标准输入以从某个文件中读取
freopen("/path/to/input.txt", "r", stdin)
这适用于 Playground 和已编译的命令行工具项目。如果您想将数据保留在 Playground 中,那么
- 打开项目导航器(查看 -> 导航器 -> 显示项目导航器 (cmd-1)
- Select“资源”文件夹并选择文件 -> 新建 -> 文件 (cmd-N)。
- Select 项目导航器中的新文件并将其重命名为“input.txt”。
- 将输入数据添加到此文件。
在 Playground 中,重定向标准输入以从
资源文件:
if let path = Bundle.main.path(forResource: "input", ofType: "txt") {
freopen(path, "r", stdin)
}
现在 readLine()
读取“input.txt”。
我有一个挑战,我要提供两行数据
2 3
1 2 3 4 5
我必须访问此数据并将其放入两个变量(2 和 3)中,并将第二行放入数组中。我收集到的这个挑战的一部分是阅读这条线并做类似的事情:
func readIntegers() -> [String] {
return readLine()!.componentsSeparatedByString(" ").map { [=10=] }
}
如何将以上数据输入 Playground 以便我可以使用 ReadLine() 访问它?我必须这样做,因为这是 HackRank 网站提供的界面的要求,但我想在 Playground 中模拟它。我目前可以看到代码编辑器和调试区域。是否有数据输入面板?
您可以使用
重定向标准输入以从某个文件中读取freopen("/path/to/input.txt", "r", stdin)
这适用于 Playground 和已编译的命令行工具项目。如果您想将数据保留在 Playground 中,那么
- 打开项目导航器(查看 -> 导航器 -> 显示项目导航器 (cmd-1)
- Select“资源”文件夹并选择文件 -> 新建 -> 文件 (cmd-N)。
- Select 项目导航器中的新文件并将其重命名为“input.txt”。
- 将输入数据添加到此文件。
在 Playground 中,重定向标准输入以从 资源文件:
if let path = Bundle.main.path(forResource: "input", ofType: "txt") {
freopen(path, "r", stdin)
}
现在 readLine()
读取“input.txt”。