Hey Andreas,

They are really two different things.  $geometry is really a function that
takes no arguments. This has been deprecated in favour calling with ()
e.g geometry().
 @ is only for variables.

So you can explain it that $ used to be a shorthand way of calling a
function that took no arguments which has now been replaced with () at the
end to call it. $area = area().  This becomes important because now we
support optional arguments meaning you can take 0 to N arguments.

- Nathan

On Mon, Jun 19, 2017 at 9:53 PM, Neumann, Andreas <[email protected]>
wrote:

> Hi,
>
> While preparing for a workshop on expressions I wonder how to explain why
> some variables are referenced with the $ sign (like $geometry) while other
> variables start with the @ sign, like @row_number, @layer_name.
>
> I know that it has historical reasons and that variables with the @ sign
> are newer and are implemented using a different technology.
>
> But are there plans to get rid of the old $ sign notation and move
> everything to the @ sign notation?
>
> Just wonder how I best explain this to the participants of the workshop.
>
> Thanks for your reply,
>
> Andreas
>
>
> _______________________________________________
> QGIS-Developer mailing list
> [email protected]
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to