首页 > 解决方案 > Ruby 中的字符串索引

问题描述

我当前的项目让我将 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内部的索引original_path,我相信它会返回一个数字。

下一行让我感到困惑。我知道我正在设置[:path]一些东西,但我不明白是什么。我认为这是一个修改版本,original_path但我不明白它是如何被修改的。

标签: rubystring

解决方案


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"

文档


推荐阅读