>Slight correction: local and public create variables, which can be accessed directly without any previous assignment in the subfunction. Private only hides any previously delclared var, but you must assign a value first before accessing it down the line again.
Yes, you are right.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)