Ruby Splat Operator
B is interpreted as a plus b where the plus.
Ruby splat operator. It can be used for hashes. Pet1 pet2 pet3 duck dog cat the collect mode. Attr reader title author category that s the power of the splat operator matching operator what is this funny looking ruby. I ve seen the splat operator being used in method definitions to group remaining arguments but it turns out there are actually quite a few other uses as well.
Ruby supports a rich set of operators as you d expect from a modern language. The splat operator can be used to create methods that accept a variable number of arguments. Zoo pet1 pet2 pet3 the splat operator can be used in a case statement. You ve probably used splats for catch all arguments.
The double splat operator came out back in ruby 2 0. So it would be like taking away the array replacing it with everything inside it. The humble splat operator and is a great example. For each operator plus.
For example a plus. The split mode. Most operators are actually method calls. It s pretty similar to the original splat with one difference.
In one of my recent posts someone pointed out that using the splat operator would have made some of the code a bit simpler. Putting the star before an object invokes the splat operator which has a variety of effects first we ll start with some very useful examples then we will poke around the dark corners of ruby s arrays and the splat operator. Here s an example for the most basic use of a double splat. Avoiding creation of array improves performance.
This article has been republished on monkey and crow. One of the things that i love about ruby is the depth of its features. In other words the last example translates to. Here is how to create a method that adds a variable number of numbers passed as arguments.
As of ruby 1 9 you can do some pretty odd things with array destructuring and splatting. Def doublesplat nums p numsenddoublesplat one. You may use an operator but do a little digging and you ll find that you ve only been scratching the surface of what it s capable of. Method in the object referred to by variable a is called with b as its argument.
Case when with splat operator use instructions like duparray concatarray which result in creation of arrays. 2 one 1 two 2 putting it all together.