|
|
1.1 root 1: .NH 1
2: Special Functions
3: .NH 2
4: Quad Functions
5: .PP
6: Quad functions are special operators
7: that perform tasks which are
8: closer to the system level,
9: but are accessible within \*a functins.
10: There are many available quad functions
11: in \*u \*a,
12: but only two are probably of interest
13: to you at this time.
14: The interested user is referred to
15: Appendix C for a complete list.
16: .IP "\*(qdrun xxx" 14
17: This function can be used to execute
18: a \*u process from inside an \*a function.
19: The variable ``xxx'' should be a character
20: vector containing the command
21: to be executed by the \*u
22: shell (command program).
23: For example,
24: to run the ``who'' program,
25: the expression might be:
26: .sp
27: \*(qdrun \'who\'
28: .sp
29: <or, using a variable>
30: .sp
31: x { \'who\'
32: .br
33: \*(qdrun x
34: .sp
35: Note that any output generated by
36: the program run by ``\*(qdrun'' is
37: .I not
38: written to a script file if ``)script''
39: was used.
40: .IP "\*(qdcr xxx" 14
41: This quad function is a standard
42: \*a quad function.
43: The argument ``xxx'' should be
44: a character vector containing
45: the name of an \*a function
46: which exists in the internal workspace.
47: ``\*(qdcr'' will return a
48: character array containing the
49: function definition in ASCII.
50: This provides
51: a very convenient way
52: to get the
53: listing of an \*a function.
54: For example,
55: if you want to define
56: the array ``fnlist'' to
57: be the function definition
58: of the function ``xyz'',
59: you can say:
60: .sp
61: fnlist { \*(qdcr \'xyz\'
62: .sp
63: or, equivalently,
64: .sp
65: fnname { \'xyz\'
66: .br
67: fnlist { \*(qdcr fnname
68: .sp
69: Another possible use of
70: ``\*(qdcr'' is to list a function
71: on the terminal without
72: having to use ``)editf''.
73: (As we discussed earlier,
74: when an error occurs
75: you cannot edit a suspended
76: function without using ``)reset''
77: first,
78: and ``)reset'' gets rid of
79: the current state of \*a.)
80: However,
81: the ``)list'' system command
82: is far more efficient
83: for this purpose
84: and is therefore strongly recommended.
85: .NH 2
86: I-Beam Functions
87: .PP
88: The I-beam function in \*u \*a is a method
89: of obtaining system parameters.
90: The available I-beams are listed in
91: Appendix D
92: for the interested user;
93: they are not generally required
94: for the average \*a session.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.