In IO::Path§

See primary documentation in context for method add

method add(IO::Path:D: Str() $what --> IO::Path:D)

Concatenates a path fragment to the invocant and returns the resultant IO::Path. If adding ../ to paths that end with a file, you may need to call resolve for the resultant path to be accessible by other IO::Path methods like dir or open. See also sibling and parent.

"foo/bar".IO.add("meow")    .resolve.relative.say# OUTPUT: «foo/bar/meow␤» 
"foo/bar".IO.add("/meow")   .resolve.relative.say# OUTPUT: «foo/bar/meow␤» 
"foo/bar".IO.add("meow.txt").resolve.relative.say# OUTPUT: «foo/bar/meow.txt␤» 
"foo/bar".IO.add("../meow".resolve.relative.say# OUTPUT: «foo/meow␤» 
"foo/bar".IO.add("../../")  .resolve.relative.say# OUTPUT: «.␤» 
method add(IO::Path:D: *@parts --> IO::Path:D)

As of release 2021.07 of the Rakudo compiler, it is also possible to specify multiple parts to be added to a path.

"foo".IO.add(<bar baz>).resolve.relative.say;      # OUTPUT: «foo/bar/baz␤»

In BagHash§

See primary documentation in context for method add

method add(BagHash: \to-add*%_ --> Nil)

When to-add is a single item, add inserts it into the BagHash or, if it was already present, increases its weight by 1. When to-add is a List, Array, Seq, or any other type that does the Iterator Role, add inserts each element of the Iterator into the SetHash or increments the weight of each element by 1.

Note: Added in version 2020.02.