Tag: 索引器

创建一个在Ruby中获取额外参数的setter方法

我正在尝试编写一个充当setter的方法,除了赋值之外还需要一些额外的参数。 愚蠢的例子: class WordGenerator def []=(letter, position, allowed) puts “#{letter}#{allowed ? ‘ now’ : ‘ no longer’} allowed at #{position}” end def allow=(letter, position, allowed) # … end end 把它写成索引器是有效的,我可以像这样调用它: gen = WordGenerator.new gen[‘a’, 1] = true # or explicitly: gen.[]=(‘a’, 1, true) 但当我尝试以下任何一种情况时,口译员会抱怨: gen.allow(‘a’, 1) = false # syntax error gen.allow=(‘a’, 1, false) # […]