所有的Ruby变量哈希值{}

ahm*_*gül 0 ruby arrays variables

我在这里尝试检测数组的哪一部分具有“值”

select方法看起来像:

  a = content.select { |n| n == "a value" }
Run Code Online (Sandbox Code Playgroud)

我试图让它计算位置:

  a = content.select { |n| n == "a value" }
      b = n + 1
Run Code Online (Sandbox Code Playgroud)

当我尝试使用n变量进行选择。我有:

undefined local variable or method `n'
Run Code Online (Sandbox Code Playgroud)

tad*_*man 6

听起来您想使用Array#index

content = [ "b value", "a value", "x value", "z value", "a value" ]

content.index("a value")
# => 1
Run Code Online (Sandbox Code Playgroud)

如果您想知道包含此值的所有头寸

content = [ "b value", "a value", "x value", "z value", "a value" ]
content.each_with_index.select { |v, _i| v == 'a value' }.map { |_v, i| i }
# => [1,4]
Run Code Online (Sandbox Code Playgroud)

  • ...或`content.each_index.select {| i | content [i] =='a value'}`,可以说读起来更好,并且避免了对.map {| _v,i | i}(可以改写为.map(&:last)`)。 (5认同)