[NTG-context] metafun: error when I call the same function twice consecutively.

Jeong Dal haksan at me.com
Sat Jun 2 02:30:57 CEST 2018


Dear Alan,

Thank you for the clear explanation about z.
I tought that z is a special variable different from other pairs.
Now, I know that it is an equation.

Thank you again.

Best regards,

Dalyoung

> 2018. 6. 1. 오후 11:24, Alan Braslau <braslau.list at comcast.net> 작성:
> 
> On Fri, 01 Jun 2018 20:29:41 +0900
> Jeong Dal <haksan at me.com> wrote:
> 
>> After inserting a line “save x, y;”, it works.
> 
> This is also defined as "clearxy ;"
> 
> For those learning MetaPost, simplifying, z is defined as "(x,y)" so
> one can write
> 	z = (a,b) ;
> This is an EQUATION in MetaPost
> 	(x,y) = (a,b) ;
> not an assignment (as in most other languages), actually a pair of
> equations:
> 	x = a ; y = b ;
> When x and y are unknown, this can be "solved". When x and y contain
> values, it leads to "inconsistent equations".
> 
> One *cannot* write
> 	z =: (a,b) ;
> ("=:" is the assignment operator),
> for z is just a macro, not a "pair" object or variable.
> 
> This can be *very* confusing when learning MetaPost.
> 
> Alan
> 
> P.S.
> 	for i=0 upto n:
> 		z[i] = (i,0) ;
> 	endfor
> works as each element of the (pseudo)array z is unknown, at least the
> first time that it is used.



More information about the ntg-context mailing list