I’m by no means an expert, but I’d expect the situation be quite lower from the attacking perspective. A gun might not be a very useful defense against a surprise knife attack, but for a surprise attack I think a gun would do quite well, even against someone holding a knife.
Note that in Eliezer’s story the question was how a 9 year old might attack a martial arts instructor, not how he would defend from him.
When people talk about self-defense, they tend to concentrate on how to physically defend yourself. But the best way to avoid getting hurt is to avoid being attacked in the first place. Here are some suggestions:
What are some other easy measures that people can take to make themselves less of a likely target?