2016-07-15 51 views
-1

我正试图在ruby中实现Sudoku游戏。在那我有一个问题。问题是我无法一次处理多行。例如,我有一个5 * 5的盒子。在每个框中,用户需要输入该号码。例如,用户需要将该号码放在第二个框中,我不知道如何去第二个框。因为第二个盒子在第一行中可用。但我写了超过10行。如何用stdout寻找?

我在网上搜索。他们说,其中一种方法是使用seek 方法。但搜寻方法不适用于标准输出。

我没有实现Sudoku代码。我试图用简单的例子来寻求标准输出。

下面是示例代码,

file = $stdout.dup 

file.puts "######### ##########" 
file.puts "####################" 
file.puts "####################" 
file.puts "####################" 
file.puts "####################" 

file.pos=10 
file.puts "#" 

在这个例子中,第10位包含了空间,我需要改变空间到#\ n。为此,我尝试了上面的代码。但它不会工作。

任何人都可以请解释我为什么它不工作,以及如何做到这一点只有红宝石不使用铁轨?

回答

0

并非每个文件句柄都是可搜索的。如果stdout是一个磁盘文件,那么你可能会寻找它,但如果stdout是一个终端,那么你将无法做到。

+0

标准输出是一个终端,有没有办法在终端做到这一点? – suresh

+0

不,你不能“寻找”一个终端。这意味着你将不得不时间旅行,根本无法跳过尚未打印的东西。 –