MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: structs/records in mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41797] Re: structs/records in mathematica
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Fri, 6 Jun 2003 09:50:30 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <bbmu1h$iq$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

there is no "standard way" but you may do
something like:

MyData[id_,value_,compound_]


and define the functions

IdNumber[m_MyData]:=m[[1]]
Value[m_Mydata]:=m[[2]]
Compound[m_MyData]:=m[[3]]

Regards
  Jens

Sidney Cadot wrote:
> 
> Hi All,
> 
> Currently I am involved in a project to read satellite data files into
> languages such as IDL and others. We're also considering implementing
> a Mathematica interface.
> 
> For this application, we need the ability to represent classical
> records/structs (as found in imperative languages such as C/Pascal),
> having named fields with an associated value.
> 
> Since such a type is not directly supported in Mathematica, we'd like
> to know if there is a 'standard' way of handling this type of
> situation.
> 
> We're currently thinking of using a list of rules, e.g.
> 
> data = {
>   id->"this_or_that",
>   value->17.3,
>   compound->{id->"compound_id", value->18.4}
> }
> 
> but this makes selecting a value a bit awkward:
> 
> value/.(compound/.data)
> 
> since this is syntactically the reverse of what one would expect in a
> language like C/Pascal (data.compound.value), and the /. operator is
> left-associative (therefore requiring parentheses in case of nested
> structs).
> 
> Is there perhaps a better way/standard idiom for handling situations
> like this?
> 
> Best regards,
>   Sidney Cadot
>   Science and Technology Corp., The Netherlands


  • Prev by Date: Mathlink performance and task switches
  • Next by Date: Re: Explain this (error in Plot[Evaluate[Range[3]],{x,0,1}])
  • Previous by thread: Re: structs/records in mathematica
  • Next by thread: Re: Re: structs/records in mathematica