# The input number of one function

**URL:** https://discourse.julialang.org/t/the-input-number-of-one-function/15449
**Category:** New to Julia
**Tags:** matlab
**Created:** [September 25, 2018, 4:42am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449 "2018-09-25T04:42:49Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![sysk\_msk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sysk_msk/32/6945_2.png) [@sysk\_msk](https://discourse.julialang.org/u/sysk_msk)
#### Post date: [September 25, 2018, 4:42am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/1 "2018-09-25T04:42:49Z")

</div>

I want to let Julia to known the number of parameters which I have provided in one function. Like nargin in MATLAB. What should I do?

---

<div class="post-metadata">

### Author: ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)
#### Post date: [September 25, 2018, 5:02am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/2 "2018-09-25T05:02:08Z")

</div>

It’s hard to imagine a case where `nargin` would be a better choice than just using Julia’s multiple dispatch and keyword arguments. Can you provide a short pseudocode example of what you’re trying to do?

---

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [September 25, 2018, 5:19am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/3 "2018-09-25T05:19:51Z")

</div>

I second @stillyslalom. However it could be done with

```julia
function f(args...)
    nargin = length(args)
    # now what?
end

```

---

<div class="post-metadata">

### Author: ![sysk\_msk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sysk_msk/32/6945_2.png) [@sysk\_msk](https://discourse.julialang.org/u/sysk_msk)
#### Post date: [September 25, 2018, 7:14am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/4 "2018-09-25T07:14:43Z")

</div>

For example,I have such a function:

```julia
function A(file1,file2,file3,img1,img2,img3,...)
# I need to known how many pictures and files it should be offered. 
   if (nargin < 6)
      file1->img1
      file1<-img2
   end
   if (nargin <10)
      file1->img1
      file1<-img2
      file2->img3
      file2<-img4
   end
...
end

```

---

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [September 25, 2018, 7:19am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/5 "2018-09-25T07:19:19Z")

</div>

I think you should

```julia
function a(files, images)
  for i=1:2:length(files)
    ...
  end
end

```

if you really want to pass them in a separate arguments

```julia
function a(args...)
  files = args[1:2:end÷2]
  imgs = args[2:2:end÷2]
  for i=1:length(files)
    ..
  end
end

```

---

<div class="post-metadata">

### Author: ![sysk\_msk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sysk_msk/32/6945_2.png) [@sysk\_msk](https://discourse.julialang.org/u/sysk_msk)
#### Post date: [September 25, 2018, 7:24am UTC](https://discourse.julialang.org/t/the-input-number-of-one-function/15449/6 "2018-09-25T07:24:01Z")

</div>

Thank you very much.
