func insert_after(a,b) { b{:next} = a{:next}; a{:next} = b; } var B = Hash.new( data => 3, next => nil, # not a circular list ); var A = Hash.new( data => 1, next => B, ); var C = Hash.new( data => 2, ); insert_after(A, C);