跳转至内容

Monkey/语言/映射

来自维基教科书,一个开放的世界中的开放书籍

什么是映射?

[编辑 | 编辑源代码]

映射是需要键值关系的列表。

如何创建映射?

[编辑 | 编辑源代码]

Monkey 中的映射通过扩展 Map 类来创建。扩展的映射类 *必须* 实现 Compare() 方法。

映射能够使用任何类型,包括对象。

Monkey 中的 Compare() 方法在值相等时返回 “0”,在值更高时返回 “1” 或更大,在值更低时返回 “-1” 或更小。一些对象难以比较,但该方法必须为键中所需的每个字段返回一个值。

Class VectorMap <Vector> Extends Map<Vector, Vector>
	Method Compare:Int( lhs:Vector,rhs:Vector )
		If lhs.x<rhs.x Return -1
		If lhs.x>rhs.x Return 1
		If lhs.y<rhs.y Return -1
		If lhs.y>rhs.y Return 1
		If lhs.z<rhs.z Return -1
		Return lhs.z>rhs.z
	End
End

Local mymap:VectorMap<Vector> = New VectorMap<Vector>

映射使用 Get() 和 Set() 方法。

Local somevector:Vector = New Vector(1,2,3)
Local somevalue:Vector = New Vector(4,5,6)

mymap.Set( somevector, somevalue)

Local returnvalue:Vector = mymap.Get(somevector)

Monkey 包含内置映射,它们提供用于设置对象的功能,方法是使用整数、浮点数和字符串作为键:IntMap、FloatMap、StringMap

华夏公益教科书