问题
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