ruby - 为什么 '////' .split ('/' ) 产生 []?

标签 ruby

代码 '////'.split('/') 结果为 []。虽然我希望它是 ['', '', '', '', '']。如果这是ruby的特性,为什么要这样设计?

最佳答案

您不能按分隔符拆分分隔符字符串。

您应该将 limit 作为第二个参数传递给 split 函数以实现此行为

'////'.split('/',-1)
=> 
["", "", "", "", ""]

如果省略 limit 参数,尾随的空字段将被抑制。如果 limit 是正数,则最多返回该数量的字段(如果 limit 为 1,则整个字符串作为数组中的唯一条目返回)。如果为负,则返回的字段数没有限制,并且不会抑制尾随的空字段

关于ruby - 为什么 '////' .split ('/' ) 产生 []?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582961/

相关文章:

ruby-on-rails - 在 Ruby on Rails 中运行每个测试需要多长时间?

ruby - 为什么类方法不能与非类方法同名?

ruby - RSpec 和 ActiveRecord : Example fails on invalid scenario

ruby-on-rails - Gem::LoadError:尝试在 Heroku 上部署时 - Rails 4

ruby-on-rails - Ruby On Rails 中的模块

ruby-on-rails - Airbrake 和 Spree 商业 API : undefined method `airbrake_request_data`

ruby - 在 ruby​​ 哈希中搜索空值

ruby-on-rails - Rails - 使用 namespace Controller 来组织文件

ruby-on-rails - 在 MongoDB 中存储数据的有效方法 : embedded documents vs individual documents

ruby - 用于从频率生成WAV文件的Ruby API?