HP Forums

Full Version: HP Prime - local variables retain their initial type
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Local variables retain the type that is first assigned. For example:

aa := [1,2,3];
aa := 3;
which is bound to catch people out.

Hi Bruce,

In page (512 foot print) 518 / 616 of user guide says:

"Although the system will allow you to store different types in the same local variable, this is poor programming practice and should
be avoided."

Of course, thanks for your findings and it let us to remember to avoid as user guide indicates.

Best regards!!


But it isn't storing a different type. It's converting the different type into the original type. I think the text is misleading. It should say that local variables maintain their type and if you try to store a different type into them, then the expression is converted into the local's type.


Indeed. As a side note, it works fine for me here....


Yes, that's exactly what is happening and it's consistent with practice in other programming languages. I used to do a lot of programming in FORTRAN, where you could explicitly declare the type of a variable. You could declare A to be Real and B to be Integer, such that if you stored 3 in A it became 3.00 and if you stored 3.14 in B it became 3. I agree that this practice in PPL is correct.