Return all elements of keys that have a value.

var map = new Map[String, String]
map["A"] = "a"
map["B"] = "b"
map["C"] = "c"

assert map.filter_keys(["B"]) == ["B"]
assert map.filter_keys(["A", "Z", "C"]) == ["A", "C"]
assert map.filter_keys(["X", "Y", "Z"]).is_empty

has_key is used to filter.

Property definitions

poset :: poset $ MapRead :: filter_keys
	# Return all elements of `keys` that have a value.
	#
	# ~~~
	# var map = new Map[String, String]
	# map["A"] = "a"
	# map["B"] = "b"
	# map["C"] = "c"
	#
	# assert map.filter_keys(["B"]) == ["B"]
	# assert map.filter_keys(["A", "Z", "C"]) == ["A", "C"]
	# assert map.filter_keys(["X", "Y", "Z"]).is_empty
	# ~~~
	#
	# `has_key` is used to filter.
	fun filter_keys(keys: Collection[nullable Object]): Array[K]
	do
		var res = new Array[K]
		for e in keys do
			if has_key(e) then res.add e
		end
		return res
	end
lib/poset/poset.nit:734,2--755,4