Skip to content

Instantly share code, notes, and snippets.

@pointofpresence
Created January 25, 2022 09:50
Show Gist options
  • Save pointofpresence/6a0141b5979382a162124e3dd0cfa2c7 to your computer and use it in GitHub Desktop.
Save pointofpresence/6a0141b5979382a162124e3dd0cfa2c7 to your computer and use it in GitHub Desktop.
PureBasic Library Template
DeclareModule Lib
EnableExplicit
#PublicStaticStringConst$ = "#PublicStaticStringConst$"
#PublicStaticNumericConst = 16
Enumeration PublicEnumeration
#PublicEnumeration_EnumOne
#PublicEnumeration_EnumTwo
EndEnumeration
Global publicNumericProperty = 32
Global publicStringProperty.s = "publicStringProperty"
Macro PublicMacro
"PublicMacro"
EndMacro
Declare.s PublicMethod()
EndDeclareModule
Module Lib
EnableExplicit
#PrivateStaticStringConst$ = "#PrivateStaticStringConst$"
#PrivateStaticNumericConst = 64
Enumeration PrivateEnumeration
#PrivateEnumeration_EnumOne
#PrivateEnumeration_EnumTwo
EndEnumeration
Global privateStringProperty.s = "privateStringProperty"
Global privateNumericProperty = 128
Macro PrivateMacro
"PrivateMacro"
EndMacro
Procedure.s PrivateMethod()
ProcedureReturn privateStringProperty + "_" + Str(privateNumericProperty) + "_" + PrivateMacro + "_" + Str(#PrivateEnumeration_EnumTwo)
EndProcedure
Procedure.s PublicMethod()
ProcedureReturn Str(publicNumericProperty) + "_" + publicStringProperty + "_" + PrivateMethod()
EndProcedure
EndModule
Debug Lib::#PublicEnumeration_EnumTwo
Debug Lib::#PublicStaticStringConst$
Debug Lib::#PublicStaticNumericConst
Debug Lib::publicStringProperty
Debug Lib::PublicMacro
Debug Lib::PublicMethod()
Debug Lib::publicNumericProperty
Lib::publicNumericProperty + 1
Debug Lib::publicNumericProperty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment