0Pricing
Lua Academy · レッスン

table.concatとtable.move

組み込み関数を使って配列を効率的に連結し、テーブルの一部をコピーします。

「table.concatとtable.move」はCoddyKit上の無料Lua Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLua Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Lua Academyコースには全4レッスンが含まれています。

table.concatの基本

table.concat(t, sep, i, j)は、配列要素を結合して文字列にします。sepのデフォルト値は""です。

単純な結合

区切り文字を使って文字列の配列を結合します。

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

iとjによる部分結合

配列の一部を結合するために、開始インデックスと終了インデックスを指定します。

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

table.concat内の数値

要素は文字列または数値でなければならず、それ以外の型を指定するとエラーになります。先にtostringで変換してください。

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

table.moveの概要

table.move(a1, f, e, t, a2)は、テーブルa1の要素(インデックスf..e)を、インデックスtからテーブルa2へコピーします。

スライスのコピー

1つのテーブルの要素2から4を、別のテーブルへコピーします。

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

その場でのシフト

同じテーブルをコピー元とコピー先に指定してtable.moveを使うと、テーブル内で要素を移動できます。

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

スライスの追加

1つのテーブルのスライスを、別のテーブルの末尾へ効率的に追加します。

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

table.moveによるテーブルの複製

テーブル全体を新しいテーブルへ移動することで、浅い複製を作成できます。

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

パフォーマンス上の利点

table.moveはCで実装されているため、大きなスライスでは要素ごとのインタープリターのオーバーヘッドを避けられ、手動のLuaループより高速です。

table.concatとstring.format

配列の結合にはtable.concatを使用し、個々の値を構造化して整形するにはstring.formatを使用します。

table.moveに関する質問

table.move(src, 2, 4, 1, dst)は何をしますか?

まとめ:concatとmove

table.concatは配列要素を文字列に結合します。table.moveはテーブルのスライスをCで効率的にコピーします。どちらも、高性能なテーブル操作に欠かせません。

よくある質問

「table.concatとtable.move」レッスンは無料ですか?

はい。「table.concatとtable.move」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Lua Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Lua Academyコースには全4レッスンが含まれています。

「table.concatとtable.move」で何を学びますか?

組み込み関数を使って配列を効率的に連結し、テーブルの一部をコピーします。 ブラウザで直接実行するハンズオンコードでLua Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Lua Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLua Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「table.concatとtable.move」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLua Academyレッスンでコードを書いて実行できますか?

はい。すべてのLua Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. コンパレーターによるtable.sort
  2. table.concatとtable.move
  3. ディープコピーとシャローコピー
  4. テーブルの変換:map、filter、reduce
← Lua Academyに戻る