ID:2093473
 
(See the best response by Ter13.)
Just wondering what the difference between ..() and () is thank you.
Press F1 in Dream Maker and read the description and examples for both, if you haven't done so already.
..()

Calls the parent function, while
.=..()

can be used to verify whether a call to the parent function came out true or false.
Ex:
.=..()
if(.)
world << "successful"

Look up the "." operator to understand how this works.
. = ..()


Is simply setting the return value of the current proc to the return value of the parent proc. You can use the '.' variable in procs to do that for anything.

if(..())


Would be what you'd do if you simply wanted to check if the parent returned true or not.
.. is the superfunction, or super for short.

..() is calling the superfunction, or supercall.

The superfunction is the proc or verb that the current one last derived from.

. is the current function.

.() calls the current function, we call this recursion.

. can be assigned to. This stores a value as a return value like Nadrew said.
In response to Ter13
Ter13 wrote:
.. is the superfunction, or super for short.

What's the superfunction?
Technically . is only the current function when it's used in the context of a direct call like .() for example. When it's used on its own it's only the local return var, and is null by default.
In response to Rushnut
Best response
Rushnut wrote:
Ter13 wrote:
.. is the superfunction, or super for short.

What's the superfunction?

Ter13 wrote:
The superfunction is the proc or verb that the current one last derived from.

mob
proc
SomeProc() //definition A

subtype_a
SomeProc() //definition B, overrides A
..() //calls definition A (supercall)
subtype_b
SomeProc() //definition C, overrides A
..() //calls definition A (supercall)

subtype_b1
SomeProc() //definition D, overrides C
..() //calls definition C (supercall)

SomeProc() //definition E, overrides D
..() //calls definition D (supercall)


Ya follow?
I have been un-dingus'd