在ruby中,%用于格式化字符串。
str % arg → new_str但是我不明白
number = '/javascripts/cache/money.js'.bytes.sum % 4在这个提交https://github.com/rails/rails/commit/f6a6b51ae551b7f936e974cba3ad4b30422d6804中
发布于 2011-07-08 06:06:20
我认为这个%是整数模数。
'/javascripts/cache/money.js'.bytes returns an Enumerator
'/javascripts/cache/money.js'.bytes.sum returns an Integer
'/javascripts/cache/money.js'.bytes.sum % 4 returns an Integer他们可能自己定义了sum方法,这可能是问题的原因?
发布于 2011-07-08 08:04:33
这取决于对象的类。
在字符串上,%的行为如下所示:
"Hello, %s" % ['world'] #=> "Hello, world"请注意,在Ruby 1.9.2中,您可以添加名称:
"Hello, %{name}" % {:name => "Nick"} #=> "Hello, Nick"有关更多详细信息,请参阅docs。
但是,对于整数,它是模函数。请参阅Fixnum docs和Numeric docs。
发布于 2011-07-08 06:03:25
这实际上是字符串中所有字节的总和,模数为4。
https://stackoverflow.com/questions/6617649
复制相似问题