Ruby 中的双方括号

pin*_*ker 5 ruby arrays square-bracket

给出以下代码:

def map(char, charmap)
    unless map = charmap[[char]]
     unless map = charmap[[char, c = input.getc]]
       input.ungetc(c) if c
       map = ''
     end
    end
  map
end
Run Code Online (Sandbox Code Playgroud)

双方括号是做什么的?

谢谢

saw*_*awa 2

[]它是以数组为参数的方法的应用。

由于OP没有明确说明,我们无法告诉它charmap是什么,但例如如果它是一个散列,那么将返回与 key 相对应的charmap[[char, c = input.getc]]值。charmap[char, input.getc]