Lua Academy · Oppitunti

table.concat ja table.move

Yhdistäkää taulukoita tehokkaasti ja kopioikaa taulukon osia sisäänrakennetuilla funktioilla.

Oppitunti 2/413 vaihetta

table.concat ja table.move on ilmainen Lua Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Lua Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Lua Academy-kurssilla on yhteensä 4 oppituntia.

table.concat-perusteet

table.concat(t, sep, i, j) yhdistää taulukon alkioita merkkijonoksi. sep-erotin on oletusarvoisesti "".

Yksinkertainen yhdistäminen

Yhdistä merkkijonotaulukon alkiot erottimella.

local fruits = {"apple", "banana", "cherry"}
print(table.concat(fruits, ", "))  -- apple, banana, cherry

Osittainen yhdistäminen i- ja j-arvoilla

Määritä alku- ja loppuindeksit, joiden välinen taulukon osa yhdistetään.

local t = {"a", "b", "c", "d", "e"}
print(table.concat(t, "-", 2, 4))  -- b-c-d

Luvut table.concat-funktiossa

Alkioiden on oltava merkkijonoja tai lukuja; muut tyypit aiheuttavat virheen. Muunna ne ensin tostring-funktiolla.

local nums = {1, 2, 3}
print(table.concat(nums, " + "))  -- 1 + 2 + 3

table.move-esittely

table.move(a1, f, e, t, a2) kopioi taulukon a1 alkiot indekseiltä f..e taulukkoon a2 alkaen indeksistä t.

Taulukon osan kopiointi

Kopioi yhden taulukon alkiot 2–4 toiseen taulukkoon.

local src = {10, 20, 30, 40, 50}
local dst = {}
table.move(src, 2, 4, 1, dst)
print(table.concat(dst, ", "))  -- 20, 30, 40

Siirtäminen paikallaan

Käytä table.move-funktiota saman lähde- ja kohdetaulukon kanssa siirtääksesi alkioita taulukon sisällä.

local t = {1, 2, 3, 4, 5}
table.move(t, 2, 5, 1)  -- shift left by 1
t[5] = nil

Taulukon osan lisääminen

Lisää yhden taulukon osa tehokkaasti toisen taulukon loppuun.

local base = {"x", "y"}
local extra = {"a", "b", "c"}
table.move(extra, 1, #extra, #base + 1, base)
print(table.concat(base, ", "))

Taulukon kloonaaminen table.move-funktiolla

Pinnallisen kloonin voi luoda siirtämällä koko taulukon uuteen tyhjään taulukkoon.

local original = {1, 2, 3}
local clone = {}
table.move(original, 1, #original, 1, clone)

Suorituskykyhyöty

table.move on toteutettu C-kielellä ja on suurilla taulukon osilla nopeampi kuin manuaalinen Lua-silmukka, koska se välttää tulkin aiheuttaman yleiskustannuksen jokaiselta alkiolta.

table.concat vai string.format

Käytä table.concat-funktiota taulukoiden yhdistämiseen ja string.format-funktiota yksittäisten arvojen jäsenneltyyn muotoiluun.

table.move-kysymys

Mitä table.move(src, 2, 4, 1, dst) tekee?

Kertaus: concat ja move

table.concat yhdistää taulukon alkiot merkkijonoksi. table.move kopioi taulukon osia tehokkaasti C-kielellä. Molemmat ovat tärkeitä suorituskykyisessä taulukoiden käsittelyssä.

Aloita maksutta

Opi Lua tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
40
Oppitunnit
159

Usein kysytyt kysymykset

Onko oppitunti ”table.concat ja table.move” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Lua Academy-oppimispolun 3 oppituntia, myös oppitunnin “table.concat ja table.move”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Lua Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”table.concat ja table.move”?

Yhdistäkää taulukoita tehokkaasti ja kopioikaa taulukon osia sisäänrakennetuilla funktioilla. Harjoittelet Lua Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Lua Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Lua Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”table.concat ja table.move”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Lua Academy-oppitunnilla?

Kyllä. Jokainen Lua Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. table.sort ja vertailufunktiot
  2. table.concat ja table.move
  3. Syvä ja pinnallinen kopio
  4. Taulukoiden muuntaminen: map, filter, reduce
← Takaisin: Lua Academy