Tulong sa LibreOffice 25.8
Nagbibigay ng koleksyon ng mga pamamaraan para sa pagmamanipula at pagbabago ng mga array ng isang dimensyon (mga vector) at mga array ng dalawang dimensyon (mga matrice). Kabilang dito ang mga set na operasyon, pag-uuri, pag-import mula at pag-export sa mga text file.
Ang mga array na may higit sa dalawang dimensyon ay hindi maaaring gamitin sa mga pamamaraan sa serbisyong ito, ang tanging pagbubukod ay ang CountDims paraan na tumatanggap ng mga Array na may anumang bilang ng mga sukat.
Ang mga item ng array ay maaaring maglaman ng anumang uri ng halaga, kabilang ang mga (sub)array.
Bago gamitin ang Array serbisyo ang ScriptForge kailangang i-load ang library gamit ang:
    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Ang paglo-load sa library ay lilikha ng SF_Array bagay na maaaring gamitin upang tawagan ang mga pamamaraan sa Array serbisyo.
Ipinapakita ng mga sumusunod na snippet ng code ang iba't ibang paraan ng pagtawag sa mga pamamaraan sa Array serbisyo (ang Idugtong paraan ay ginagamit bilang isang halimbawa):
    Dim arr : arr = Array(1, 2, 3)
    arr = SF_Array.Append(arr, 4)
  
    Dim arr : arr = Array(1, 2, 3)
    Dim svc : svc = SF_Array
    arr = svc.Append(arr, 4)
  
    Dim arr : arr = Array(1, 2, 3)
    Dim svc : svc = CreateScriptService("Array")
    arr = svc.Append(arr, 4)
  Dahil ang Python ay may built-in na listahan at tuple na suporta, karamihan sa mga pamamaraan sa Array ang serbisyo ay magagamit lamang para sa mga Pangunahing script. Ang tanging exception ay ImportFromCSVFile na sinusuportahan sa parehong Basic at Python.
| Listahan ng Mga Paraan sa Serbisyo ng Array | ||
|---|---|---|
| 
        Append | 
        Flatten | 
       Reverse | 
Ang unang argumento ng karamihan sa mga pamamaraan ay ang array object na isasaalang-alang. Ito ay palaging ipinapasa sa pamamagitan ng sanggunian at hindi nagbabago. Ang mga pamamaraan tulad ng Append, Prepend, atbp ay nagbabalik ng bagong array object pagkatapos ng kanilang execution.
Idinaragdag ang mga item na nakalista bilang mga argumento sa dulo ng array ng input.
svc.Append(array_1d: any[0..*], arg0: any, [arg1: any] ...): any[0..*]
array_1d : Ang dati nang array, maaaring walang laman.
arg0, arg1, ... : Mga item na idaragdag sa array_1d .
    Dim a As Variant
    a = SF_Array.Append(Array(1, 2, 3), 4, 5)
        ' (1, 2, 3, 4, 5)
  Nagdaragdag ng bagong column sa kanang bahagi ng isang dalawang dimensional na array. Ang resultang array ay may parehong mas mababang mga hangganan tulad ng unang dalawang dimensional na array.
svc.AppendColumn(array_2d: any[0..*, 0..*], column: any[0..*]): any[0..*, 0..*]
array_2d : Ang dati nang array, maaaring walang laman. Kung ang array na iyon ay may isang dimensyon lamang, ito ay itinuturing na unang column ng nagreresultang two-dimensional na array.
hanay : Isang 1-dimensional na array na may kasing dami ng mga item gaya ng mga row array_2d .
    Dim a As Variant, b As variant
    a = SF_Array.AppendColumn(Array(1, 2, 3), Array(4, 5, 6))
        ' ((1, 4), (2, 5), (3, 6))
    b = SF_Array.AppendColumn(a, Array(7, 8, 9))
        ' ((1, 4, 7), (2, 5, 8), (3, 6, 9))
    c = SF_Array.AppendColumn(Array(), Array(1, 2, 3))
        ' ∀ i ∈ {0 ≤ i ≤ 2} : b(0, i) ≡ i
  Magdugtong ng bagong row sa ilalim ng dalawang dimensyon na array. Ang resultang array ay may parehong mas mababang mga hangganan gaya ng unang dalawang dimensyon na array.
svc.AppendRow(array_2d: any[0..*, 0..*], row: any[0..*]): any[0..*, 0..*])
array_2d : Ang dati nang array, maaaring walang laman. Kung ang array na iyon ay may 1 dimensyon, ito ay itinuturing na unang hilera ng nagreresultang 2 dimensyon na array.
hilera : Isang 1-dimensional na hanay na may kasing dami ng mga item na mayroong mga column array_2d .
    Dim a As Variant, b As variant
    a = SF_Array.AppendRow(Array(1, 2, 3), Array(4, 5, 6))
        '  ((1, 2, 3), (4, 5, 6))
    b = SF_Array..AppendRow(Array(), Array(1, 2, 3))
        ' ∀ i ∈ {0 ≤ i ≤ 2} : b(i, 0) ≡ i
  Suriin kung ang isang array ng isang dimensyon ay naglalaman ng isang tiyak na numero, teksto o petsa. Ang paghahambing ng teksto ay maaaring case-sensitive o hindi.
 Ang mga pinagsunod-sunod na array ng input ay dapat na punan ng homogenous, ibig sabihin ang lahat ng mga item ay dapat na mga scalar ng parehong uri ( Walang laman at Null mga bagay ay ipinagbabawal).
 Ang resulta ng pamamaraan ay hindi mahuhulaan kapag ang array ay inihayag bilang pinagsunod-sunod at sa katotohanan ay hindi.
 Ang isang binary na paghahanap ay ginagawa kapag ang array ay pinagsunod-sunod, kung hindi, ito ay ini-scan lamang mula sa itaas hanggang sa ibaba at Walang laman at Null hindi pinapansin ang mga item.
svc.Contains(array_1d: any[0..*], tofind: any, casesensitive: bool = False, sortorder: str = ""): bool
array_1d : Ang array na i-scan.
mahanap : Isang numero, petsa o string na hahanapin.
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
pagkakasunud-sunod : Ito ay maaaring alinman sa "ASC", "DESC" o "" (hindi pinagsunod-sunod). Ang default na halaga ay "".
    Dim a As Variant
    a = SF_Array.Contains(Array("A","B","c","D"), "C", SortOrder := "ASC") ' True
    SF_Array.Contains(Array("A","B","c","D"), "C", CaseSensitive := True) ' False
  I-imbak ang nilalaman ng isang 2-column array sa isang ScriptForge.Diksyunaryo bagay.
 Ang susi ay makukuha mula sa unang column, ang item mula sa pangalawa.
svc.ConvertToDictionary(array_2d: any[0..*, 0..1]): obj
array_2d : Data na iko-convert sa a ScriptForge.Diksyunaryo bagay.
Ang unang column ay dapat maglaman ng eksklusibong mga string na may haba na mas malaki sa zero, sa anumang pagkakasunud-sunod. Ang mga halagang ito ay gagamitin bilang mga label sa diksyunaryo.
Ang pangalawang column ay naglalaman ng data na iuugnay sa kaukulang label sa diksyunaryo.
    Dim a As Variant, b As Variant
    a = SF_Array.AppendColumn(Array("a", "b", "c"), Array(1, 2, 3))
    b = SF_Array.ConvertToDictionary(a)
    MsgBox b.Item("c") ' 3
  Gumagawa ng kopya ng 1D o 2D array.
svc.Copy(array_nd: any[0..*]): any[0..*]
svc.Copy(array_nd: any[0..*, 0..*]): any[0..*, 0..*]
array_nd : Ang 1D o 2D array na kokopyahin.
Isang simpleng takdang-aralin ng isang Array Kokopyahin ng object ang reference nito sa halip na lumikha ng kopya ng mga nilalaman ng object. Tingnan ang halimbawa sa ibaba:
    Dim a as Variant, b as Variant
    a = Array(1, 2, 3)
    ' Ang pagtatalaga sa ibaba ay ginawa sa pamamagitan ng sanggunian
    b = a
    ' Kaya't ang pagbabago ng mga halaga sa "b" ay babaguhin din ang "a"
    b(0) = 10
    MsgBox a(0) ' 10
  Sa pamamagitan ng paggamit ng Kopyahin paraan, isang kopya ng kabuuan Array bagay ay ginawa. Sa halimbawa sa ibaba, a at b ay iba't ibang mga bagay at nagbabago ng mga halaga sa b hindi makakaapekto sa mga halaga sa a .
    Dim a as Variant, b as Variant
    a = Array(1, 2, 3)
    ' Lumilikha ng kopya ng "a" gamit ang paraan ng "Kopyahin".
    b = SF_Array.Copy(a)
    b(0) = 10
    MsgBox a(0) ' 1
  Bilangin ang bilang ng mga sukat ng isang array. Ang resulta ay maaaring higit sa dalawa.
 Kung ang argument ay hindi isang array, nagbabalik -1
 Kung ang array ay hindi nasimulan, nagbabalik ng 0.
svc.CountDims(array_nd: any): int
array_nd : Ang array na susuriin.
    Dim a(1 To 10, -3 To 12, 5)
    MsgBox SF_Array.CountDims(a) ' 3
  Bumuo ng set, bilang zero-based na array, sa pamamagitan ng paglalapat ng difference operator sa dalawang input array. Ang mga resultang item ay nagmula sa unang array at hindi mula sa pangalawa.
 Ang resultang array ay pinagsunod-sunod sa pataas na pagkakasunud-sunod.
 Ang parehong mga array ng input ay dapat na punan ng homogenous, ang kanilang mga item ay dapat na mga scalar ng parehong uri. Walang laman at Null bawal ang mga item.
 Maaaring case sensitive o hindi ang paghahambing ng teksto.
svc.Difference(array1_1d: any[0..*], array2_1d: any[0..*], casesensitive: bool = False): any[0..*]
array1_1d : Isang 1-dimensional na reference array, na ang mga item ay sinusuri para maalis.
array2_1d : Isang 1-dimensional na array, na ang mga item ay ibinabawas mula sa unang input array.
casesensitive : Ang argumentong ito ay naaangkop lamang kung ang mga array ay napupuno ng mga string (Default = Mali ).
    Dim a As Variant
    a = SF_Array.Difference(Array("A", "C", "A", "b", "B"), Array("C", "Z", "b"), True)
        ' ("A", "B")
  Isulat ang lahat ng mga item ng array nang sunud-sunod sa isang text file. Kung ang file ay mayroon na, ito ay mapapatungan nang walang babala.
svc.ExportToTextFile(array_1d: any[0..*], filename: str, [encoding: str]): bool
array_1d : Ang array na ie-export. Dapat itong naglalaman lamang ng mga string.
filename : Ang pangalan ng text file kung saan isusulat ang data. Ang pangalan ay dapat ipahayag ayon sa kasalukuyang FileNaming ari-arian ng SF_FileSystem serbisyo.
encoding : Ang set ng character na dapat gamitin. Gamitin ang isa sa mga pangalang nakalista sa IANA character set . Tandaan na maaaring hindi ipatupad ng LibreOffice ang lahat ng umiiral na set ng character (Default ay "UTF-8").
    SF_Array.ExportToTextFile(Array("A","B","C","D"), "C:\Temp\A short file.txt")
  I-extract mula sa isang two-dimention array ang isang partikular na column bilang bagong array.
 Ang baba nito LBound at itaas UBound ang mga hangganan ay kapareho ng sa unang dimensyon ng input array.
svc.ExtractColumn(array_2d: any[0..*, 0..*], columnindex: int): any[0..*, 0..*]
array_2d : Ang array kung saan i-extract.
columnindex : Ang numero ng column na kukunin - dapat nasa pagitan [LBound, UBound] .
    'Gumagawa ng 3x3 matrix: |1, 2, 3|
    '                      |4, 5, 6|
    '                      |7, 8, 9|
    Dim mat as Variant, col as Variant
    mat = SF_Array.AppendRow(Array(), Array(1, 2, 3))
    mat = SF_Array.AppendRow(mat, Array(4, 5, 6))
    mat = SF_Array.AppendRow(mat, Array(7, 8, 9))
    'Ina-extract ang ikatlong hanay: |3, 6, 9|
    col = SF_Array.ExtractColumn(mat, 2)
  I-extract mula sa isang two-dimention array ang isang partikular na row bilang bagong array.
 Ang baba nito LBound at itaas UBound Ang mga hangganan ay kapareho ng sa pangalawang dimensyon ng array ng input.
svc.ExtractRow(array_2d: any[0..*, 0..*], rowindex: int): any[0..*, 0..*]
array_2d : Ang array kung saan i-extract.
rowindex : Ang numero ng row na i-extract - dapat nasa pagitan [LBound, UBound] .
    'Gumagawa ng 3x3 matrix: |1, 2, 3|
    '                      |4, 5, 6|
    '                      |7, 8, 9|
    Dim mat as Variant, row as Variant
    mat = SF_Array.AppendRow(Array(), Array(1, 2, 3))
    mat = SF_Array.AppendRow(mat, Array(4, 5, 6))
    mat = SF_Array.AppendRow(mat, Array(7, 8, 9))
    'Ina-extract ang unang hilera: |1, 2, 3|
    row = SF_Array.ExtractRow(mat, 0)
  I-stack ang lahat ng solong item ng isang array at lahat ng item sa mga subarray nito sa isang bagong array na walang mga subarray. Ang mga walang laman na subarray ay hindi pinapansin at ang mga subarray na may bilang ng mga dimensyon na mas malaki sa isa ay hindi pinatag.
svc.Flatten(array_1d: any[0..*]): any[0..*]
array_1d : Ang dati nang array, maaaring walang laman.
    Dim a As Variant
    a = SF_Array.Flatten(Array(Array(1, 2, 3), 4, 5))
        ' (1, 2, 3, 4, 5)
  Maaari mong gamitin ang patagin pamamaraan kasama ng iba pang mga pamamaraan tulad ng Idugtong o Prepend upang pagsamahin ang isang hanay ng mga 1D array sa isang solong 1D array.
Susunod ay isang halimbawa kung paano ang mga pamamaraan patagin at Idugtong maaaring pagsamahin upang pagsamahin ang tatlong array.
    'Gumagawa ng tatlong array para sa halimbawang ito
    Dim a as Variant, b as Variant, c as Variant
    a = Array(1, 2, 3)
    b = Array(4, 5)
    c = Array(6, 7, 8, 9)
    'Pinagsasama-sama ang tatlong array sa iisang 1D array
    Dim arr as Variant
    arr = SF_Array.Flatten(SF_Array.Append(a, b, c))
    '(1, 2, 3, 4, 5, 6, 7, 8, 9)
  I-import ang data na nilalaman sa isang comma-separated values (CSV) file. Ang kuwit ay maaaring palitan ng anumang karakter.
Ang naaangkop na format ng CSV ay inilalarawan sa IETF Karaniwang Format at Uri ng MIME para sa CSV Files .
Ang bawat linya sa file ay naglalaman ng isang buong tala (hindi pinapayagan ang paghahati ng linya).
 Gayunpaman mga pagkakasunud-sunod tulad ng \n , \t , ... ay hindi nagbabago. Gamitin SF_String .Unescape() na paraan upang pamahalaan ang mga ito.
Ang pamamaraan ay nagbabalik ng dalawang dimensyon na array na ang mga hilera ay tumutugma sa isang talaang nabasa sa file at ang mga column ay tumutugma sa isang field ng talaan. Walang ginawang pagsusuri tungkol sa pagkakaugnay ng mga uri ng field sa mga column. Ang isang pinakamahusay na hula ay gagawin upang matukoy ang mga uri ng numero at petsa.
Kung ang isang linya ay naglalaman ng mas kaunti o higit pang mga patlang kaysa sa unang linya sa file, isang pagbubukod ay itataas. Ang mga walang laman na linya gayunpaman ay binabalewala lang. Kung ang laki ng file ay lumampas sa bilang ng mga limitasyon ng mga item (tingnan sa loob ng code), isang babala ang itataas at ang array ay pinutol.
svc.ImportFromCSVFile(filename: str, delimiter: str = ',', dateformat: str = ''): any[0..*]
filename : Ang pangalan ng text file na naglalaman ng data. Ang pangalan ay dapat ipahayag ayon sa kasalukuyang FileNaming ari-arian ng SF_FileSystem serbisyo.
delimiter : Isang character, kadalasan, isang kuwit, isang tuldok-kuwit o isang TAB na character (Default = ",").
dateformat : Isang espesyal na mekanismo ang humahawak sa mga petsa kung kailan dateformat ay alinman sa "YYYY-MM-DD", "DD-MM-YYYY" o "MM-DD-YYYY". Ang gitling (-) ay maaaring mapalitan ng isang tuldok (.), isang slash (/) o isang puwang. Ang iba pang mga format ng petsa ay hindi papansinin. Ang mga petsang nagde-default sa isang walang laman na string na "" ay itinuturing na normal na teksto.
Isaalang-alang ang CSV file na "myFile.csv" na may mga sumusunod na nilalaman:
Pangalan, Petsa ng Kapanganakan, Address, Lungsod
Anna,2002/03/31,"Rue de l'église, 21",Toulouse
Fred,1998/05/04,"Rue Albert Einstein, 113A",Carcassonne
Binabasa ng mga halimbawa sa ibaba sa Basic at Python ang mga nilalaman ng CSV file sa isang Array bagay.
    Dim arr As Variant
    arr = SF_Array.ImportFromCSVFile("C:\Temp\myFile.csv", DateFormat := "YYYY/MM/DD")
    MsgBox arr(0, 3) ' Lungsod
    MsgBox arr(1, 2) ' Rue de l'église, 21
    MsgBox arr(1, 3) ' Toulouse
  
    from scriptforge import CreateScriptService
    svc = CreateScriptService("Array")
    bas = CreateScriptService("Basic")
    arr = svc.ImportFromCSVFile(r"C:\Temp\myFile.csv", dateformat = "YYYY/MM/DD")
    bas.MsgBox(arr[0][3]) # Lungsod
    bas.MsgBox(arr[1][2]) # Rue de l'église, 21
    bas.MsgBox(arr[1][3]) # Toulouse
  Tumingin sa isang array ng isang dimensyon para sa isang numero, isang string o isang petsa. Maaaring case-sensitive o hindi ang paghahambing ng teksto.
 Kung ang array ay pinagsunod-sunod dapat itong punan ng homogenous, na nangangahulugan na ang lahat ng mga item ay dapat na mga scalar ng parehong uri ( Walang laman at Null ang mga bagay ay ipinagbabawal).
 Ang resulta ng pamamaraan ay hindi mahuhulaan kapag ang array ay inihayag bilang pinagsunod-sunod at talagang hindi.
 Ang isang binary na paghahanap ay isinasagawa sa mga pinagsunod-sunod na array. Kung hindi, ang mga array ay ini-scan lamang mula sa itaas hanggang sa ibaba at Walang laman at Null hindi pinapansin ang mga item.
 Ang pamamaraan ay nagbabalik LBound(input array) - 1 kung hindi matagumpay ang paghahanap.
svc.IndexOf(array_1d: any[0..*], tofind: any, casesensitive: bool = False, sortorder: str = ''): int
array_1d : Ang array na i-scan.
mahanap : Isang numero, petsa o string na hahanapin.
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
pagkakasunud-sunod : Ito ay maaaring alinman sa "ASC", "DESC" o "" (hindi pinagsunod-sunod). Ang default na halaga ay "".
    MsgBox SF_Array.IndexOf(Array("A","B","c","D"), "C", SortOrder := "ASC") ' 2
    MsgBox SF_Array.IndexOf(Array("A","B","c","D"), "C", CaseSensitive := True) ' -1
  Ipasok bago ang isang ibinigay na index ng input array ang mga item na nakalista bilang mga argumento.
 Ang mga argumento ay bulag na ipinapasok. Ang bawat isa sa kanila ay maaaring alinman sa isang scalar ng anumang uri o isang subarray.
svc.Insert(array_1d: any[0..*], before: int, arg0: any, [arg1: any] ...): any[0..*]
array_1d : Ang dati nang array, maaaring walang laman.
dati : Ang index bago ipasok; dapat nasa pagitan [LBound, UBound + 1] .
arg0, arg1, ... : Mga bagay na ipapasok sa array_1d .
    Dim a As Variant
    a = SF_Array.Insert(Array(1, 2, 3), 2, "a", "b")
        ' (1, 2, "a", "b", 3)
  Ipinapasok sa isang pinagsunod-sunod na array ang isang bagong item sa lugar nito.
 Ang array ay dapat na punan ng homogenous, ibig sabihin, ang lahat ng mga item ay dapat na mga scalar ng parehong uri.
 Walang laman at Null bawal ang mga item.
svc.InsertSorted(array_1d: any[0..*], item: any, sortorder: str = 'ASC', casesensitive: bool = False): any[0..*]
array_1d : Ang array kung saan ilalagay ang value.
aytem : Ang scalar value na ilalagay, ng parehong uri ng umiiral na array item.
pagkakasunud-sunod : Maaari itong maging "ASC" (default) o "DESC".
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
    Dim a As Variant
    a = SF_Array.InsertSorted(Array("A", "C", "a", "b"), "B", CaseSensitive := True)
        ' ("A", "B", "C", "a", "b")
  Bumuo ng set, bilang zero-based array, sa pamamagitan ng paglalapat ng intersection set operator sa dalawang input array. Ang mga nagreresultang item ay nakapaloob sa parehong mga array.
 Ang resultang array ay pinagsunod-sunod sa pataas na pagkakasunud-sunod.
 Ang parehong mga array ng input ay dapat na punan ng homogenous, sa madaling salita ang lahat ng mga item ay dapat na mga scalar ng parehong uri. Walang laman at Null bawal ang mga item.
 Maaaring case sensitive o hindi ang paghahambing ng teksto.
svc.Intersection(array1_1d: any[0..*], array2_1d: any[0..*], casesensitive: bool = False): any[0..*]
array1_1d : Ang unang input array.
array2_1d : Ang pangalawang input array.
casesensitive : Nalalapat sa mga array na puno ng mga text item (Default = Mali ).
    Dim a As Variant
    a = SF_Array.Intersection(Array("A", "C", "A", "b", "B"), Array("C", "Z", "b"), True)
        ' ("C", "b")
  Sumali sa isang two-dimensional array na may dalawang delimiter, isa para sa mga column, isa para sa mga row.
svc.Join2D(array_2d: any [0..*, 0..*], [columndelimiter: str], [rowdelimiter: str], [quote: str]): str
array_2d : Ang bawat item ay dapat na alinman sa teksto, isang numero, isang petsa o isang boolean.
 Ang mga petsa ay ginawang YYYY-MM-DD na hh:mm:ss na format.
 Ang mga di-wastong item ay pinapalitan ng isang zero-length na string.
columndelimiter : Nililimitahan ang bawat column (default = Tab/Chr(9)).
rowdelimiter : Nililimitahan ang bawat hilera (default = LineFeed/Chr(10))
quote : Kung totoo , protektahan ang mga string na may double quotes. Ang default ay Mali .
    ' arr = | 1, 2, "A", [2020-02-29], 51, 2, "A", [2020-02-29], 5           |
    '       | 6, 7, "this is a string", 9, 106, 7, "this is a string", 9, 10 |
    Dim arr as Variant : arr = Array()
    arr = SF_Array.AppendRow(arr, Array(1, 2, "A", [2020-02-29], 51, 2, "A", [2020-02-29], 5))
    arr = SF_Array.AppendRow(arr, Array(6, 7, "this is a string", 9, 106, 7, "this is a string", 9, 10))
    Dim arrText as String
    arrText = SF_Array.Join2D(arr, ",", "/", False)
    ' 1,2,A,,51,2,A,,5/6,7,this is a string,9,106,7,this is a string,9,10
  Prepend sa simula ng input array ang mga item na nakalista bilang mga argumento.
svc.Prepend(array_1d: any[0..*], arg0: any, [arg1: any] ...): any[0..*]
array_1d : Ang dati nang array, maaaring walang laman.
arg0, arg1, ... : Isang listahan ng mga item na ihahanda array_1d .
    Dim a As Variant
    a = SF_Array.Prepend(Array(1, 2, 3), 4, 5)
        ' (4, 5, 1, 2, 3)
  Mag-prepend sa kaliwang bahagi ng dalawang dimensyon na array ng isang bagong column. Ang resultang array ay may parehong mas mababang mga hangganan gaya ng unang dalawang dimensyon na array.
svc.PrependColumn(array_2d: any[0..*, 0..*], column: any[0..*]): any[0..*, 0..*]
array_2d : Ang dati nang array, maaaring walang laman. Kung ang array na iyon ay may 1 dimensyon, ito ay itinuturing na huling column ng nagreresultang 2 dimensyon na array.
hanay : Isang 1-dimensional na array na may kasing dami ng mga item gaya ng mga row array_2d .
    Dim a As Variant, b As variant
    a = SF_Array.PrependColumn(Array(1, 2, 3), Array(4, 5, 6))
        ' ((4, 1), (5, 2), (6, 3))
    b = SF_Array.PrependColumn(Array(), Array(1, 2, 3))
        ' ∀ i ∈ {0 ≤ i ≤ 2} : b(0, i) ≡ i
  Mag-prepend ng bagong row sa simula ng isang 2-dimensional na array. Ang resultang array ay may parehong mas mababang mga hangganan gaya ng paunang 2-dimensional array.
svc.PrependRow(array_2d: any[0..*, 0..*], row: any[0..*]): any[0..*, 0..*]
array_2d : Ang dati nang array, maaaring walang laman. Kung may 1 dimensyon ang array na iyon, ituturing itong huling row ng nagreresultang 2-dimensional na array.
hilera : Isang 1-dimensional na array na naglalaman ng kasing dami ng mga item gaya ng mga column array_2d .
    Dim a As Variant, b As variant
    a = SF_Array.PrependRow(Array(1, 2, 3), Array(4, 5, 6))
        ' ((4, 5, 6), (1, 2, 3))
    b = SF_Array.PrependRow(Array(), Array(1, 2, 3))
        ' ∀ i ∈ {0 ≤ i ≤ 2} : b(i, 0) ≡ i
  Magsimula ng bagong zero-based na array na may mga numeric na halaga.
svc.RangeInit(from: num, upto: num, [bystep: num]): num[0..*]
mula sa : Halaga ng unang item.
hanggang sa : Ang huling item ay hindi dapat lumampas Hanggang sa .
bystep : Ang pagkakaiba sa pagitan ng dalawang magkasunod na item (Default = 1).
    Dim a As Variant
    a = SF_Array.RangeInit(10, 1, -1)
        ' (10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
  Ibalik ang baligtad na isang dimensyon na input array.
svc.Reverse(array_1d: any[0..*]): any[0..*]
array_1d : Ang array na i-reverse.
    Dim a As Variant
    a = SF_Array.Reverse(Array("a", 2, 3, 4))
        ' (4, 3, 2, "a")
  Nagbabalik ng random na permutation ng isang one-dimensional array.
svc.Shuffle(array_1d: any[0..*]): any[0..*]
array_1d : Ang array na i-shuffle.
    Dim a As Variant
    a = SF_Array.Shuffle(Array(1, 2, 3, 4))
        ' Ang array "a" ay nasa random na pagkakasunud-sunod na ngayon, f.i. (2, 3, 1, 4)
  Nagbabalik ng subset ng isang one-dimensional na array.
svc.Slice(array_1d: any[0..*], from: int, [upto: int]): any[0..*]
array_1d : Ang array na hiwain.
mula sa : Ang mas mababang index sa array_1d ng subarray upang kunin ( mula sa kasama)
hanggang sa : Ang itaas na index sa array_1d ng subarray upang kunin ( hanggang sa kasama). Ang default na halaga ay ang itaas na hangganan ng array_1d . Kung hanggang sa < mula sa pagkatapos ang ibinalik na array ay walang laman.
    Dim a As Variant
    a = SF_Array.Slice(Array(1, 2, 3, 4, 5), 1, 3) ' (2, 3, 4)
  Pagbukud-bukurin ang isang array ng isang dimensyon sa pataas o pababang pagkakasunud-sunod. Ang mga paghahambing ng teksto ay maaaring case-sensitive o hindi.
 Ang array ay dapat na punan ng homogenous, na nangangahulugan na ang mga item ay dapat na mga scalar ng parehong uri.
 Walang laman at Null pinapayagan ang mga item. Conventionally Walang laman < Null < anumang iba pang scalar value.
svc.Sort(array_1d: any[0..*], sortorder: str, casesensitive: bool = False): any[0..*]
array_1d : Ang array upang ayusin.
pagkakasunud-sunod : Maaari itong maging "ASC" (default) o "DESC".
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
    Dim a As Variant
    a = SF_Array.Sort(Array("a", "A", "b", "B", "C"), CaseSensitive := True)
        ' ("A", "B", "C", "a", "b")
  Magbalik ng permutation ng mga column ng dalawang dimensyon na array, na pinagsunod-sunod sa mga value ng isang partikular na row.
 Ang hilera ay dapat na punan ng homogenous, na nangangahulugan na ang lahat ng mga item ay dapat na mga scalar ng parehong uri.
 Walang laman at Null pinapayagan ang mga item. Conventionally Walang laman < Null < anumang iba pang scalar value.
svc.SortColumns(array_2d: any[0..*, 0..*], rowindex: int, sortorder: str, casesensitive: bool = False): any[0..*, 0..*]
array_2d : Ang 2-dimensional na array upang pagbukud-bukurin.
rowindex : Ang index ng row na gagamitin bilang reference para pagbukud-bukurin ang mga column.
pagkakasunud-sunod : Maaari itong maging "ASC" (default) o "DESC".
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
    ' arr = | 5, 7, 3 |
    '       | 1, 9, 5 |
    '       | 6, 1, 8 |
    Dim arr as Variant : arr = Array(5, 7, 3)
    arr = SF_Array.AppendRow(arr, Array(1, 9, 5))
    arr = SF_Array.AppendRow(arr, Array(6, 1, 8))
    arr = SF_Array.SortColumns(arr, 2, "ASC")
    ' arr = | 7, 5, 3 |
    '       | 9, 1, 5 |
    '       | 1, 6, 8 |
  Magbalik ng permutation ng mga row ng dalawang dimensyon na array, na pinagsunod-sunod sa mga value ng isang partikular na column.
 Ang haligi ay dapat na punan ng homogenous, samakatuwid ang lahat ng mga item ay dapat na mga scalar ng parehong uri.
 Walang laman at Null pinapayagan ang mga item. Conventionally Walang laman < Null < anumang iba pang scalar value.
svc.SortRows(array_2d: any[0..*, 0..*], columnindex: int, sortorder: str, casesensitive: bool = False): any[0..*, 0..*]
array_2d : Ang array upang ayusin.
columnindex : Ang index ng column na gagamitin bilang reference para pag-uri-uriin ang mga row.
pagkakasunud-sunod : Maaari itong maging "ASC" (default) o "DESC".
casesensitive : Para lamang sa mga paghahambing ng string (Default = Mali ).
    ' arr = | 5, 7, 3 |
    '       | 1, 9, 5 |
    '       | 6, 1, 8 |
    Dim arr as Variant : arr = Array(5, 7, 3)
    arr = SF_Array.AppendRow(arr, Array(1, 9, 5))
    arr = SF_Array.AppendRow(arr, Array(6, 1, 8))
    arr = SF_Array.SortRows(arr, 0, "ASC")
    ' arr = | 1, 9, 5 |
    '       | 5, 7, 3 |
    '       | 6, 1, 8 |
  Pinapalitan ang mga row at column sa isang two-dimensional na array.
svc.Transpose(array_2d: any[0..*, 0..*]): any[0..*, 0..*]
array_2d : Ang 2-dimensional na array upang i-transpose.
    ' arr1 = | 1, 2 |
    '        | 3, 4 |
    '        | 5, 6 |
    arr1 = Array(1, 2)
    arr1 = SF_Array.AppendRow(arr1, Array(3, 4))
    arr1 = SF_Array.AppendRow(arr1, Array(5, 6))
    arr2 = SF_Array.Transpose(arr1)
    ' arr2 = | 1, 3, 5 |
    '        | 2, 4, 6 |
    MsgBox arr2(0, 2) ' 5
  Alisin mula sa isang array ng isang dimensyon lahat Null , Walang laman at zero-length na mga entry.
 Ang mga string na item ay pinuputol gamit ang LibreOffice Basic Trim() function.
svc.TrimArray(array_1d: any[0..*]): any[0..*]
array_1d : Ang array upang putulin.
    Dim a As Variant
    a = SF_Array.TrimArray(Array("A", "B", Null, " D "))
        ' ("A", "B", "D")
  Bumubuo ng set, bilang zero-based na array, sa pamamagitan ng paglalapat ng unyon operator sa dalawang input array. Ang mga nagreresultang item ay nagmula sa alinman sa parehong mga array.
 Ang resultang array ay pinagsunod-sunod sa pataas na pagkakasunud-sunod.
 Ang parehong mga array ng input ay dapat na punan ng homogenous, ang kanilang mga item ay dapat na mga scalar ng parehong uri. Walang laman at Null bawal ang mga item.
 Maaaring case sensitive o hindi ang paghahambing ng teksto.
svc.Union(array1_1d: any[0..*], array2_1d: any[0..*], casesensitive: bool = False): any[0..*]
array1_1d : Ang unang input array.
array2_1d : Ang pangalawang input array.
casesensitive : Naaangkop lamang kung ang mga array ay puno ng mga string (Default = Mali ).
    Dim a As Variant
    a = SF_Array.Union(Array("A", "C", "A", "b", "B"), Array("C", "Z", "b"), True)
        ' ("A", "B", "C", "Z", "b")
  Bumuo ng isang hanay ng mga natatanging value na nagmula sa input array.
 Ang input array ay dapat na punan ng homogenous, ang mga item nito ay dapat na mga scalar ng parehong uri. Walang laman at Null bawal ang mga item.
 Maaaring case sensitive o hindi ang paghahambing ng teksto.
svc.Unique(array_1d: any[0..*], casesensitive: bool = False): any[0..*]
array_1d : Ang input array.
casesensitive : Naaangkop lamang kung ang array ay puno ng mga string (Default = Mali ).
    Dim a As Variant
    a = SF_Array.Unique(Array("A", "C", "A", "b", "B"), CaseSensitive := True)
        '  ("A", "B", "C", "b")