Once in a while, I see a self-answer, flagged as not an answer, that says something along the lines of:
After fiddling with my code for a bit, I found that changing all of my
Bar()calls solved the problem.
Can someone tell me why
Foo()didn't work in my code? If someone could explain this to me, I'd be most grateful.
If this answer were only its first paragraph, it would probably have been left alone. However, the second paragraph is essentially a question about the answer, and being a question naturally causes the post to be flagged as not an answer. I don't disagree with the flag of course, as others may post answers to the question addressing the question in the answer, turning the whole thing into a forum topic. On the other hand, I don't agree entirely with deleting the actual answer either.
It doesn't seem like I should convert it to an edit, especially if it's also been accepted by the asker, since part of it does answer the question (or offer a solution to the problem). At the same time, removing the second paragraph entirely could give the asker the impression that it's not OK to inquire about the solutions you find to your programming problems.
What I would do if this had been my own answer to my own question, is to post the first paragraph as an answer, and ask for clarification as a comment. I can't do this for other people's posts, though, because mods can't convert answers to comments on themselves since it means deleting the answers in the first place.
Alternatively, if I feel that enough people could benefit from it as a separate question, I can find a way to express it generally, and go ahead and post a brand new question, linking to the answer for context if necessary.
But how should we deal with the existing answers, as moderators and as community members?