<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Le 07/02/2020 à 10:30, Federico Miyara
a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:776785e7-98f8-817e-e036-50564dddf2f1@fceia.unr.edu.ar">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<font face="Courier New"><br>
Stéphane,<br>
<br>
Thanks for the explanation.<br>
<br>
I find it </font><font face="Courier New">already </font><font
face="Courier New">dangerous that a function be aware of the
calling level variables of equal name. But allowing so even for
input arguments is too much. I agree with you.<br>
<br>
Generally, variables inside a function are bound or dummy
variables. Any other variable or parameter to be collected from
the context should be passed through the arguments. This is much
safer and better programming style, I think, since everybody is
aware of the </font><font face="Courier New"> previously
assigned </font><font face="Courier New">variables </font><font
face="Courier New">required </font><font face="Courier New">to
be to be able to apply the function. <br>
<br>
I guess a macro designed for general use will never ever exploit
this feature...</font></blockquote>
<p><br>
</p>
<p>There are always exceptions ;-)<br>
Because, despite its drawbacks, this feature can also be very
handy when there is an important needed context.<br>
</p>
<p>Noticeably in case of recursivity.</p>
<p>So, things are not all white or black.</p>
<p>When you see an Object-Oriented Programming language, almost
nothing is passed through input parameters.<br>
The major useful and used contents are "implicit" and contextual,
in classes.<br>
<br>
This makes OOP IDEs such Eclipse or others almost mandatory, to
easily get explicitly the hidden context of any object (or
function). Otherwise, programming would turn just awful.</p>
Samuel<br>
<p> <br>
</p>
</body>
</html>