ruby 脚本在调用 class 方法时冻结
ruby script freezes when calling class method
我有这个程序,我是 运行 来自命令行的,在这个 method.This 方法工作后冻结,但最后它冻结了,我留下了一个不断闪烁的光标.
def self.chooseteams(numberofteams)
i=1
while i<numberofteams
puts "choose a team"
team=gets.chomp
@@c<<team
i+=1
end
end
然后程序卡住,无法调用下一个方法,is.It本应执行其功能,当条件满足时,传递给下一个method.My猜测是陷入无限循环,但是,我看不到它!
def self.secondfixer(numberofteams)
until @@listofDrawnTeams.length==numberofteams do
firstPick = @@c.sample
@@listofDrawnTeams<<firstPick
@@listofDrawnTeams.uniq!
end
end
方法都在程序结束时调用
Genfix.gener(64)
Genfix.fixer(64)
Genfix.chooseteams(32)
Genfix.secondfixer(32)
Genfix.fixer(32)
在您的方法 secondfixer
中,如果您有重复的团队,您的 until
循环可能永远不会完成。
使用 @@ 变量真的很奇怪 - 在 ruby 编程中很少使用它。
我有这个程序,我是 运行 来自命令行的,在这个 method.This 方法工作后冻结,但最后它冻结了,我留下了一个不断闪烁的光标.
def self.chooseteams(numberofteams)
i=1
while i<numberofteams
puts "choose a team"
team=gets.chomp
@@c<<team
i+=1
end
end
然后程序卡住,无法调用下一个方法,is.It本应执行其功能,当条件满足时,传递给下一个method.My猜测是陷入无限循环,但是,我看不到它!
def self.secondfixer(numberofteams)
until @@listofDrawnTeams.length==numberofteams do
firstPick = @@c.sample
@@listofDrawnTeams<<firstPick
@@listofDrawnTeams.uniq!
end
end
方法都在程序结束时调用
Genfix.gener(64)
Genfix.fixer(64)
Genfix.chooseteams(32)
Genfix.secondfixer(32)
Genfix.fixer(32)
在您的方法 secondfixer
中,如果您有重复的团队,您的 until
循环可能永远不会完成。
使用 @@ 变量真的很奇怪 - 在 ruby 编程中很少使用它。