integer and string distinguish,local and env distinguish