.. index:: Single: Using ZeroLib; Introduction ============= Using ZeroLib ============= In this chapter we will learn how to use the ZeroLib library. .. index:: pair: Using ZeroLib; Introduction Introduction ============ ZeroLib is a simple library written in Ring. The library provideds classes for Lists and String where the index starts from 0. .. index:: pair: Using ZeroLib; Z() function Z() function ============ Syntax: .. code-block:: none Z(String|List) ---> New Object (ZeroBasedString|ZeroBasedList) .. index:: pair: Using ZeroLib; ZeroBasedList Class ZeroBasedList Class =================== Simple class provide a List where the index starts from zero. Methods: =========================== ====================================================================== Method Description/Output =========================== ====================================================================== Init(List) Add(Value) Add item to the list Insert(nIndex,Value) Inset Item after nIndex Find(Value) Find item Delete(nIndex) Delete item from the list Item(nIndex) Get item from the list First() Get the first item in the list Last() Get the last item in the list Set(nIndex,Value) Set item value FindInColumn(nCol,Value) Find item in a column Sort() Sort items - return new list Reverse() Reverse items - return new list Swap(nIndex1,nIndex2) Swap two items =========================== ====================================================================== Example: .. code-block:: ring load "zerolib.ring" ? "Using List - Index start from 0" List = Z( [1,2,3] ) List.Add(4) List.Add(5) ? List[0] ? List[1] ? List[2] ? List[3] ? List[4] nIndex = List.find(2) ? "Find(2) = " + nIndex List.delete(0) ? "After deleting the first item : List[0]" ? "Now List[0] = " + List[0] Output: .. code-block:: ring Using List - Index start from 0 1 2 3 4 5 Find(2) = 1 After deleting the first item : List[0] Now List[0] = 2 .. index:: pair: Using ZeroLib; ZeroBasedString Class ZeroBasedString Class ===================== Simple class provide a String where the index starts from zero. =========================== ====================================================================== Method Description/Output =========================== ====================================================================== Init(String|Number) Lower() New String - Lower case characters Upper() New String - Upper case characters Left(x) New String - contains x characters from the left Right(x) New String - contains x characters from the right Lines() Number - Lines count Trim() New String - Remove Spaces Copy(x) New String - repeat string x times strcmp(cString) Compare string with cString tolist() List (String Lines to String Items) tofile(cFileName) Write string to file mid(nPos1,nPos2) New String - from nPos1 to nPos2 getfrom(nPos1) New String - from nPos1 to the end of the string replace(cStr1,cStr2,lCase) New String - Replace cStr1 with cStr2 , lCase (True=Match Case) split() List - Each Word as list item startswith(substring) Return true if the start starts with a substring endswith(substring) Return true if the start ends with a substring =========================== ====================================================================== Example: .. code-block:: ring load "zerolib.ring" ? "Using String - Index start from 0" String = Z( "Welcome" ) ? String[0] ? String[1] ? String[2] ? String[3] ? String[4] ? String[5] ? String[6] Output: .. code-block:: ring Using String - Index start from 0 W e l c o m e .. index:: pair: Using ZeroLib; Source Code Source Code =========== We can find the library source code in this folder URL : https://github.com/ring-lang/ring/tree/master/ringlibs/zerolib