Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: Problem with SetDelayed lhs:=rhs

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128257] Re: Problem with SetDelayed lhs:=rhs
  • From: awnl <awnl at gmx-topmail.de>
  • Date: Sat, 29 Sep 2012 20:07:16 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <k466r8$a8g$1@smc.vnet.net>

Am 29.09.2012 09:09, schrieb zahava.ginny at gmail.com:
> An assignment using SetDelayed, lhs := rhs, maintains rhs in completely unevaluated form.
> Thus, if k=5, say, the assignment
>
> In[1] = f[k,j_]:=rhs[k,j]
>
> yields
>
> In[2] = ?f
> Global`f
> f[5,j_]:=rhs[k,j]
>
> How can I force the k on the right hand side to be evaluated so that ?f will yield
> f[5,j_]:=rhs[5,j] ?
>
> Of course, I could define f[5,j_] manually, but I want to automate the procedure over a range of values of k.
>

Look at what With can do for you:

Do[
With[{k=k},
  f[k,j_]:=rhs[k,j]
],{k,1,10}]


hth,

albert



  • Prev by Date: Mathematica takes over .m files
  • Next by Date: Re: Clearing all variables and definitions: i.e. "resetting" mathematica
  • Previous by thread: Problem with SetDelayed lhs:=rhs
  • Next by thread: Re: Problem with SetDelayed lhs:=rhs