HH\Set::remove

Removes the specified value from the current Set.

Description

public function remove(
  Tv $v,
): Set<Tv>

Removes the specified value from the current Set.

Future changes made to the current Set ARE reflected in the returned Set, and vice-versa.

Parameters

  • Tv $v - The value to remove.

Return Values

  • Set<Tv> - A shallow copy of the current Set with the value removed; the current Set is also updated.

Examples

This example shows that removing a value that doesn't exist in the Set has no effect:

<?hh

namespace Hack\UserDocumentation\API\Examples\Set\Remove;

$s = Set {'red', 'green'};

// Remove 'red' from the Set
$s->remove('red');
var_dump($s);

// Remove 'red' again (has no effect)
$s->remove('red');
var_dump($s);
Output
object(HH\Set)#1 (1) {
  string(5) "green"
}
object(HH\Set)#1 (1) {
  string(5) "green"
}