# Functions in function args?

**URL:** <https://discourse.julialang.org/t/functions-in-function-args/34777>\
**Category:** General Usage\
**Created:** [February 17, 2020, 9:16pm UTC](https://discourse.julialang.org/t/functions-in-function-args/34777 "2020-02-17T21:16:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nmatzke](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nmatzke/32/7853_2.png) [@nmatzke](https://discourse.julialang.org/u/nmatzke)\
**Post date:** [February 17, 2020, 9:16pm UTC](https://discourse.julialang.org/t/functions-in-function-args/34777/1 "2020-02-17T21:16:24Z")

</div>

Hi all!

I am wondering – in R, you can default function argument defaults with functions, e.g.

tmpfun ← function(a, b=2\*a)  
{  
return(a+b)  
}

tmpfun(a=1)

# Returns: 3

…is anything like this possible in Julia? It’s not crucial, but it’s handy.

Cheers!  
Nick

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [February 17, 2020, 9:23pm UTC](https://discourse.julialang.org/t/functions-in-function-args/34777/2 "2020-02-17T21:23:27Z")

</div>

You mean something like this?

```julia
julia> f(;a, b=2a) = a + b
f (generic function with 1 method)

julia> f(a=1)
3

```

---

<div class="post-metadata">

**Author:** ![nmatzke](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nmatzke/32/7853_2.png) [@nmatzke](https://discourse.julialang.org/u/nmatzke)\
**Post date:** [February 19, 2020, 2:29am UTC](https://discourse.julialang.org/t/functions-in-function-args/34777/3 "2020-02-19T02:29:36Z")

</div>

Hi! Thanks, I meant e.g. using a function to define a default value for a variable. It looks like this actually works, I must have messed something else up when I was having problems yesterday.

This works:

> function f1(a)  
> return 2\*a  
> end
> 
> function f2(b, c=f1(b))  
> return b\*c  
> end
> 
> f2(2)

# Returns: 8

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [February 19, 2020, 4:11am UTC](https://discourse.julialang.org/t/functions-in-function-args/34777/4 "2020-02-19T04:11:36Z")

</div>

please format your code with `````

```julia
function f1(a)
    return 2*a
end

function f2(b, c=f1(b))
    return b*c
end

f2(2)
# Returns: 8

```
