问题
Given the following code:
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
What is the double square brackets doing?
Thanks
回答1:
It is application of the method [] taking an array as the argument.
Since the OP did not make clear, we cannot tell what charmap is, but for example if it were a hash, then charmap[[char, c = input.getc]] would return the value in charmap that corresponds to the key [char, input.getc].
来源:https://stackoverflow.com/questions/20361770/double-square-brackets-in-ruby