Keyed (Expression) — Skript

Addon: Skript · Category: Expression · Since: 2.12

Syntax

(keyed|indexed) %~objects%

Description

This expression is used to explicitly pass the keys of an expression alongside its values. For example, when setting a list variable or passing an expression to a function.

Examples

set {_first::foo} to "value1"
set {_first::bar} to "value2"
set {_second::*} to keyed {_first::*}
# {_second::foo} is "value1" and {_second::bar} is "value2"
function indices(objects: objects) returns strings:
	return indices of {_objects::*}

on load:
	set {_list::foo} to "value1"
	set {_list::bar} to "value2"
	set {_list::baz} to "value3"

	broadcast indices({_list::*}) # "1", "2", "3"
	broadcast indices(keyed {_list::*}) # "foo", "bar", "baz"
function plusOne(numbers: numbers) returns numbers:
	loop {_numbers::*}:
		set {_numbers::%loop-index%} to loop-value + 1
	return {_numbers::*}

on load:
	set {_numbers::foo} to 1
	set {_numbers::bar} to 2
	set {_numbers::baz} to 3

	set {_result::*} to keyed plusOne(keyed {_numbers::*})
	# {_result::foo} is 2, {_result::bar} is 3, {_result::baz} is 4

View source