### 1.16.6 Ορισμός μιας συνάρτησης από το "ιστορικό" :
as_function_of

Εάν με μια εντολή ορίσαμε την μεταβλητή a και εάν σε μια επόμενη εντολή ορίσαμε την μεταβλητή b (που υποθέτουμε ότι εξαρτάται από την a), τότε η εντολή c:=as_function_of(b,a) θα ορίσει μια συνάρτηση c τέτοια ώστε c(a)=b.
Είσοδος :

a:=sin(x)

Έξοδος :

sin(x)

Είσοδος :

b:=sqrt(1+a`^`2)

Έξοδος :

sqrt(1+sin(x)`^`2)

Είσοδος :

c:=as_function_of(b,a)

Έξοδος :

(a)->
{ local NULL;
return(sqrt(1+a`^`2));
}

Είσοδος :

c(x)

Έξοδος :

sqrt(1+x`^`2)

Είσοδος :

a:=2

Έξοδος :

2

Είσοδος :

b:=1+a`^`2

Έξοδος :

5

Είσοδος :

c:=as_function_of(b,a)

Έξοδος :

(a)->
{ local NULL;
return(1+a`^`2);
}

Είσοδος :

c(x)

Έξοδος :

1+x`^`2

Προσοχή !!
Εάν η μεταβλητή b έχει ανατεθεί πολλές φορές, τότε θα χρησιμοποιηθεί η πρώτη εντολή της b που ακολουθεί την τελευταία εντολή της a. Επιπλέον, η διάταξη που χρησιμοποιείται είναι η σειρά με την οποία εκτελούνται οι εντολές, και η οποία μπορεί να μην φαίνεται στην διεπαφή του Xcas αν διάφορες εντολές έχουν εκτελεσθεί ξανά.
Για παράδειγμα Είσοδος :
a:=2 και μετά
b:=2*a+1 και μετά
b:=3*a+2 και μετά
c:=as_function_of(b,a)
Έξοδος :

(a)-> {local NULL; return(2*a+1);}

δηλαδή c(x) ισούται με 2*x+1.
Αλλά, Είσοδος :
a:=2 και μετά
b:=2*a+1 και μετά
a:=2 και μετά
b:=3*a+2 και μετά
c:=as_function_of(b,a)
Έξοδος :

(a)-> {local NULL; return(3*a+2);}

δηλαδή c(x) ισούται με 3*x+2.