Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8393904
difference.rb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
difference.rb
View Options
#
# difference.rb
#
module
Puppet::Parser::Functions
newfunction
(
:difference
,
:type
=>
:rvalue
,
:doc
=>
<<-
DOC
@summary
This function returns the difference between two arrays.
The returned array is a copy of the original array, removing any items that
also appear in the second array.
@example Example usage
difference(["a","b","c"],["b","c","d"])
Would return: `["a"]`
> *Note:*
Since Puppet 4 the minus (-) operator in the Puppet language does the same thing:
['a', 'b', 'c'] - ['b', 'c', 'd']
Would return: `['a']`
@return [Array]
The difference between the two given arrays
DOC
)
do
|
arguments
|
# Two arguments are required
raise
(
Puppet
::
ParseError
,
"difference(): Wrong number of arguments given (
#{
arguments
.
size
}
for 2)"
)
if
arguments
.
size
!=
2
first
=
arguments
[
0
]
second
=
arguments
[
1
]
unless
first
.
is_a?
(
Array
)
&&
second
.
is_a?
(
Array
)
raise
(
Puppet
::
ParseError
,
'difference(): Requires 2 arrays'
)
end
result
=
first
-
second
return
result
end
end
# vim: set ts=2 sw=2 et :
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Jun 4 2025, 7:19 PM (9 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3399053
Attached To
rSPSTD puppet-puppetlabs-stdlib
Event Timeline
Log In to Comment