псевдоним принимает символы в качестве аргументов, поэтому вот пример того, что вы хотите сделать:
class Toto
def initialize
@t = {}
end
def []=(k,v)
@t[k] = v
end
alias assign :[]=
end
t = Toto.new
t[1] = 5
t.assign(3, 4)
puts t.inspect
отображает: #<Toto:0x29b8318 @t={1=>5, 3=>4}>
Кроме того, вы неправильно указали порядок параметров псевдонима, это alias new_name old_name