使用范围与时间循环使用Ruby中的差异
发布时间:2020-12-16 20:01:55 所属栏目:百科 来源:网络整理
导读:我正在尝试使用 Ruby解决Project Euler问题,我使用4种不同的循环方法,即循环,时间,范围和upto方法,但times方法仅产生预期的答案,而for循环,范围和upto方法没有.我假设他们有点相同,但我发现它不是.有人可以解释这些方法之间的区别吗? 这是我使用的循环结构
我正在尝试使用
Ruby解决Project Euler问题,我使用4种不同的循环方法,即循环,时间,范围和upto方法,但times方法仅产生预期的答案,而for循环,范围和upto方法没有.我假设他们有点相同,但我发现它不是.有人可以解释这些方法之间的区别吗?
这是我使用的循环结构 # for-loop method for n in 0..1 puts n end 0 1 => 0..1 # times method 2.times do |n| puts n end 0 1 => 2 # range method (0..1).each do |n| puts n end 0 1 => 0..1 # upto method 0.upto(1) do |n| puts n end 0 1 => 0 解决方法
通过检查文档可以轻松获取此信息.
同样, 那么我们也可以看到,由于 我无法找到正确的文档,但是对于x中的x …被翻译成y.each do | x | …,所以这就是为什么你的for-in循环返回与你的.each循环相同的事情. 无论如何,取决于这些循环结构的返回值是一种奇怪的方法.在惯用的Ruby代码中,我不认为这发生了很多(在任何情况下)? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |