3

我想将路径的单个组件作为数组获取。

我来到了这两个解决方案:

path = '/usr/share/doc/less/'

parts = path.split(File::Separator)
p parts #  => ["", "usr", "share", "doc", "less"]

require 'pathname'
parts = []
Pathname.new(path).each_filename {|f| parts << f}
p parts #  => ["usr", "share", "doc", "less"]
  1. String.split()

    这是健壮和便携的吗?

  2. Pathname.each_filename()

    Ruby 看起来有点冗长。但是,这应该是便携式的,对吧?

有没有更好的方法?我错过了标准 Ruby 的东西吗?

4

1 回答 1

7

那是当场的。Pathname是 ruby​​ 标准库的一部分,它应该是一个完全可移植的解决方案。

你可以使用这个:

Pathname.new(path).each_filename.to_a

甚至:

Pathname(path).each_filename.to_a
于 2013-10-31T17:11:26.157 回答