代码之家  ›  专栏  ›  技术社区  ›  ChrisP

Ruby中字符串的索引

  •  0
  • ChrisP  · 技术社区  · 6 年前

    我当前的项目是将Ruby转换为Node。js。在此之前,我从未使用过Ruby,所以我仍在努力学习所有的语法差异。目前,我对这个片段有点困惑:

          myUri = Addressable::URI.parse(original_path)
          idx = original_path.index(myUri.path)
          hit.props[:path] = original_path[idx..original_path.length-1]
        else
          hit.is_invalid = true
    

    所以,我知道我们正在分析 original_path .

    然后,我们得到了 myUri.path 里面 原始路径 ,我相信它会返回一个数字。

    下一行是让我困惑的。我知道我已经准备好了 [:path] 但我不明白是什么。我认为这是一个修改版的 原始路径 但我不明白它是如何被修改的。

    0 回复  |  直到 6 年前
        1
  •  2
  •   mrzasa    6 年前

    original_path[idx..original_path.length-1] 使用范围访问字符串。

    以射程为例

    (1..4).to_a
    # [1,2,3,4]
    

    范围字符串/数组访问获取范围边界之间的数组/字符串的一部分。在这种情况下-介于 idx (这是我们的开始 myUri.path )还有绳子的末端。

    见下文:

    a = 'abcd'
    # => "abcd"
    a[1..a.size-1]
    # => "bcd"
    

    Docs