What is the difference between BasicObject#instance_eval and BasicObject#instance_exec? Technology Community › Category: Ruby › What is the difference between BasicObject#instance_eval and BasicObject#instance_exec? 0 Vote Up Vote Down VietMX Staff asked 4 years ago BasicObject#instance_exec can only accept a block, not a string, and it can accept arguments and pass them to the block, allowing the block to be evaluated in the context of the receiver object with parameters whose values come from the block.