textfiles/internet/muck_for.ref

116 lines
3.3 KiB
Plaintext

The MUF Cheat-Sheet, as seen by Sammael (Arthur, The., etc)
-or-
Reference manual for MUCK Forth ("MUF") -terse
v2.2 August 4, 1990
ENTERING EDITING MODE
@prog <program name> (creates a new program if none match)
@edit <program name or number>
EDITING COMMANDS
<number> i insert before <number>
. exit insert mode
c compile
<number1> <number2> l list
<number1> <number2> d delete
<letter> <letter> a show macros (abridged)
<letter> <letter> s show macros (long)
<program#> v view program header
h help on edit mode
u uncompile
q quit editor mode
PRIMITIVE TERMINOLOGY
v type variable
d type dbref
i type int (boolean)
s type string
a type address (word)
SYNTAX
( ... ) commments
: begin user-def word
; end user-def word
var <VARNAME> variable declaration
if ( i -- )
else ( -- )
then ( -- )
exit ( -- )
execute ( a -- ??? )
pop ( x -- )
dup ( x -- x x )
swap ( x y -- y x )
over ( x y -- x y x )
rot ( x y z -- y z x )
rotate ( ni ... n1 i -- n(i-1) ... n1 ni )
pick ( ni ... n1 i -- n1 ni )
put ( ni ... n1 x i -- x ... n1 )
! ( x v -- ) store value x in var v.
value may be any type data
@ ( v -- x ) fetch value x from var v
atoi ( s -- i ) string --> integer
intostr ( i -- s ) integer || dbref --> string
dbref ( i -- d ) integer --> dbref
int ( x -- i ) VAR || object --> integer
variable ( i -- v ) integer --> VAR ref
+ - * / % ( i1 i2 -- i )
< > = <= >= ( i1 i2 -- i )
strcmp,
stringcmp ( s1 s2 -- i ) strcmp == case sens.
strncmp ( s1 s2 n -- i ) compares only n letters
number? ( s -- i )
dbcmp ( d1 d2 -- i )
and or ( i1 i2 -- i )
not ( i -- i' )
strlen ( s -- i )
strcat ( s1 s2 -- s )
instr ( s1 s2 -- i ) finds string s2 within s1
strcut ( s i -- s1 s2 ) cuts string at pos. i
explode ( s1 s2 -- ... i ) s2 is the partition, len >0
subst ( s1 s2 s3 -- s ) string, replacement, tobesub
pronoun_sub ( d s -- s' ) does % subs a la osucc/ofail
read ( -- s )
notify ( d s -- ) player, message
notify_except ( d1 d2 s -- ) place, player, message
pennies ( d -- i )
addpennies ( d i -- ) player, pennies
random ( -- i )
getpropval ( d s -- i ) zero if none
getpropstr ( d s -- s ) "" if none
addprop ( d s1 s2 i -- ) ignores i unless s2 is ""
remove_prop ( d s -- )
desc, name, succ,
fail, drop, osucc,
ofail, odrop: ( d -- s ) retrieve message
setname, setdesc,
setsucc, setfail,
setdrop, setosucc,
setofail: ( d s -- ) set message
player?, thing?,
room?, program?,
exit?, ok?: ( d -- i ) boolean
location ( d -- d' )
owner ( d -- d' )
moveto ( d1 d2 -- ) moves d1 to d2
set ( d s -- ) object, string (flag)
flag? ( d s -- i ) object, string, boolean
call ( d -- ??? ) call remote program
match ( s -- d ) thing, dbref (#-1 = NOTHING,
#-2 = AMBIGUOUS, #-3 = HOME)
rmatch ( d s -- d ) object, thing, dbref
copyobj ( d -- d' ) returns dbref of new object
contents ( d -- ... i ) returns stack of dbrefs and i