# How to pass set of attributes to command

**URL:** <https://discourse.julialang.org/t/how-to-pass-set-of-attributes-to-command/77161>\
**Category:** New to Julia\
**Tags:** question, glmakie\
**Created:** [February 27, 2022, 6:47pm UTC](https://discourse.julialang.org/t/how-to-pass-set-of-attributes-to-command/77161 "2022-02-27T18:47:36Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Henrique\_Becker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrique_becker/32/15443_2.png) [@Henrique\_Becker](https://discourse.julialang.org/u/Henrique_Becker)\
**Post date:** [February 27, 2022, 11:56pm UTC](https://discourse.julialang.org/t/how-to-pass-set-of-attributes-to-command/77161/6 "2022-02-27T23:56:32Z")

</div>

> [@talby](#):
>
> For a first time user it is confusing how the " ; " has to be used […]

I do understand, the `;` for keyword parameter separation and the `...` (which is both the slurping and the splatting operators) are often confusing for someone that has not seen them before in other languages.

I do want to point out, however, that `;` is rarely _needed_ for keyword argument/parameters separation: only when the function has only keyword parameters and they are passed by splatting that they are truly needed. Otherwise, Julia allows both ‘,’ and ‘;’ to separate keyword arguments/parameters, and most people use ‘,’. I use ‘;’ because of stylist preferences and because I preferred the language to have never have allowed ‘,’ in this context and sticked to ‘;’.

Adding to the previous code, if I have at least one positional parameter I can write:

```julia
julia> f(x, color = :black, markersize = 1) = @show x, color, markersize
f (generic function with 4 methods)

julia> f("abc", merge(attribute_set_A, attribute_set_B)...)
(x, color, markersize) = ("abc", :red, 2)
("abc", :red, 2)

```

The `...` splatting operator is basically a: “do not treat this as one container object with multiple elements inside but instead as all the elements were there outside any container”.

I think the manual sections you want are:

1. [https://docs.julialang.org/en/v1/manual/faq/#The-two-uses-of-the-…-operator:-slurping-and-splatting](https://docs.julialang.org/en/v1/manual/faq/#The-two-uses-of-the-...-operator:-slurping-and-splatting) – FAQ section that confirms many beginners find `...` confusing.
2. [Keyword arguments](https://docs.julialang.org/en/v1/manual/functions/#Keyword-Arguments) – The manual section on keyword arguments.

---

_[View the full topic](https://discourse.julialang.org/t/how-to-pass-set-of-attributes-to-command/77161)._
