Re: Data set association, returning values

• To: mathgroup at smc.vnet.net
• Subject: [mg131723] Re: Data set association, returning values
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Tue, 24 Sep 2013 04:15:34 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-outx@smc.vnet.net
• Delivered-to: mathgroup-newsendx@smc.vnet.net
• References: <20130924015750.0A2ED6A28@smc.vnet.net>

```objects = "Object" <> # & /@
CharacterRange["A", "T"]

values = "Page" <> ToString[#] & /@
ReplacePart[
RandomInteger[{1, 100}, Length[objects]],
3 -> 67]

Some alternative approaches

Clear[value1, value2, value3];

value1[obj_?(MemberQ[objects, #] &)] :=
value1[obj] =
values[[Position[objects, obj][[1]]]][[1]];

value2[obj_?(MemberQ[objects, #] &)] :=
value2[obj] =
{obj, val_} :> val][[1]];

(value3[#[[1]]] = #[[2]]) & /@

#["ObjectC"] & /@
{value1, value2, value3}

{"Page67", "Page67", "Page67"}

Equal @@ %

True

Neither value1, value2, nor value3 will evaluate for arguments not in
objects list

#["ObjectZ"] & /@
{value1, value2, value3}

{value1["ObjectZ"], value2["ObjectZ"], value3["ObjectZ"]}

value1, value2, and value3 are equivalent

value1 /@ objects ==
value2 /@ objects ==
value3 /@ objects ==
values

True

Bob Hanlon

On Mon, Sep 23, 2013 at 9:57 PM, Float <float71 at gmail.com> wrote:

> Hello all,
> I am a complete newbie to Mathematica, and I want to do the following:
>
> -Associate a data set of 20 objects to certain values.
> -Call the object and return its associated value.
>
> For example, I want to input "ObjectC" and have returned "Page67".
>
> How do I achieve this?
>
>

```

• Prev by Date: Re: Quantity
• Next by Date: Re: list mutability (very basic question)
• Previous by thread: Data set association, returning values
• Next by thread: ExtendUnits package still works with old symbolic units