The enumeration data type, or Enum, is a fixed list of items. You can access enums through the global object called Enum. For a full list of Enums and their items, see Enums in the API Reference.
Getting Items of Enums
To get all items of an Enum, call the GetEnumItems() method on the enum. The following code sample demonstrates how to call GetEnumItems() on the Enum.PartType enum.
local partTypes = Enum.PartType:GetEnumItems()for index, enumItem in partTypes doprint(enumItem)end--[[Enum.PartType.BallEnum.PartType.BlockEnum.PartType.Cylinder]]
Enum Items
The EnumItem is the data type for items in enums. An EnumItem has three properties:
Some properties of objects can only be items of certain enums. For example, the Shape property of a Part object is an item of the Enum.PartType Enum. The following code sample demonstrates how to print the properties of the Enum.PartType.Cylinder EnumItem.
-- Properties of the EnumItem called Enum.PartType.Cylinderprint(Enum.PartType.Cylinder.Name) -- Cylinderprint(Enum.PartType.Cylinder.Value) -- 2print(Enum.PartType.Cylinder.EnumType) -- PartType
Assigning Enum Items
To assign an EnumItem as the value of a property, use the full Enum declaration. You can also use its Value or EnumType.
local part = Instance.new("Part") -- Create a new partpart.Shape = Enum.PartType.Cylinder -- By EnumItem (best practice)part.Shape = Enum.PartType.Cylinder.Value -- By EnumItem Valuepart.Shape = 2 -- By EnumItem Valuepart.Shape = Enum.PartType.Cylinder.Name -- By EnumItem Namepart.Shape = "Cylinder" -- By EnumItem Namepart.Parent = workspace