需要帮助理解一行代码

cod*_*ain -1 ruby

我一直在处理素数程序,我遇到了一些Ruby代码:

    (2..prime/2).none?{|i| prime % i == 0}
Run Code Online (Sandbox Code Playgroud)

有人可以把它分解给我并用简单的语言向我解释.如果你熟悉reddit EIL5.(解释它就像我是5.)

我在这里找到了代码:

如何在Ruby中测试值是否为素数?简单和困难的方式?

tad*_*man 6

即使非常低效,它也非常简单.它分解为:

# For each of the numbers in the range 2 to prime/2...
(2..prime/2).none? do |i|
  # ...test that none of them divide evenly with the given prime.
  # That is the modulus (%) of those two numbers is zero, or no
  # remainder from division.
  prime % i == 0
end
Run Code Online (Sandbox Code Playgroud)

有更好的方法来解决这个问题,但这种蛮力的方法应该有效.

none?Enumerable中的众多便捷方法之一.它们可以处理Array和Hash对象,并提供有用的工具,用于将一组对象转换为另一组对象.

在这种情况下,它测试的是没有数字符合这些标准.这与您的要求相反any?all?取决于您的要求.