# [✓] Convert a constant to a variable?

GROUPS:
 Hi. I have an expression like f:=ax or f[x_]:=ax and next i have to put f[x_,a_]:=f or f[x_,a_]:=f but it doesn't work.
 Sean Clarke 1 Vote Yes. That shouldn't work. You can't define something as a constant value and as a function at the same time. At very least that would be very confusing and I'm not sure I know any programming language where it's possible. You want to write something like: f[x_] := a x f[x_,a_] := a x Or if you want to be more clever, you can use default values (https://reference.wolfram.com/language/tutorial/OptionalAndDefaultArguments.html) f[x_, a_:constantValue] := a x 
 Does this help? In[1]:= f[] = 3; In[2]:= f[a_] := a^7 In[3]:= f[] Out[3]= 3 In[4]:= f@5 Out[4]= 78125 Another take: In[1]:= f[] := a x In[2]:= f[x_, a_] := f[] In[3]:= f[p, q] Out[3]= a x `