Christian Neukirchen wrote:
> Ilias Lazaridis <ilias / lazaridis.com> writes:
>>Ilias Lazaridis wrote:
>>
>>an example for wrong ruby documentation:
>>
>>-
>>
>>cmd:> ri Class
>>
>>
>>"Classes, modules, and objects are interrelated. In the diagram that
>>follows, the arrows represent inheritance, and the parentheses
>>meta-classes. All metaclasses are instances of the class `Class'."
>>
>>                           +------------------+
>>                           |                  |
>>             Object---->(Object)              |
>>              ^  ^        ^  ^                |
>>              |  |        |  |                |
>>              |  |  +-----+  +---------+      |
>>              |  |  |                  |      |
>>              |  +-----------+         |      |
>>              |     |        |         |      |
>>       +------+     |     Module--->(Module)  |
>>       |            |        ^         ^      |
>>  OtherClass-->(OtherClass)  |         |      |
>>                             |         |      |
>>                           Class---->(Class)  |
>>                             ^                |
>>                             |                |
>>                             +----------------+
> 
> I do not see what's wrong here, can you explain?

definitive errors:

a) not all arrows represent inheritance, just the verticals.

b) the relation "(Object)"---[inherits from]--->"Class" is false.

correct: "(Object)"---[inherits-from]------->nil

or

correct: "(Object)"---[is-an-instance-of]--->Class

-

and finally:

the diagramm gives the impression, that "Object" and "(Object)" (etc.) 
are both classes, which is of course false. There is a "definition" and 
an "(instance)".

-

I will shortly update the UML diagramm to version 1.1, to simplify it a 
little bit more:

http://lazaridis.com/case/lang/ruby

..

-- 
http://lazaridis.com