Browse thread
[Caml-list] Subclasses and pattern matching
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | katre <katre@h...> |
| Subject: | Re: [Caml-list] Subclasses and pattern matching |
Richard Jones wrote:
>
> Possibly I'm being dumb here, but wouldn't it be better to use
> a union type, eg:
>
> type num = Int of int | Float of float
>
Yes, except for two facts:
a) Each different type has different data available (some are ints, some
strings, some more complex)
b) Each different type has a lot of data. I don't really want to
specify a 10-member tuple for each constructor :)
c) Where the data is used, I want to match two or three different types,
and then call a default method with anything left over. With a union, I
have to deal with every possible type, or do nothing with the data.
To clarify, using your type above, I can't do
match n with
Int(i) -> print_int i
| _ -> print_int some_data_from_n
Remember, all of my structures have many more than 1 piece of data. A
class inheritance really is the best way to model the data structure, I
just want to be able to pattern match on it.
katre
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners