Lua - 文字列

こんにちは、将来のプログラマーたち!今日は、Luaの素晴らしい文字列の世界に踏み込んでみましょう。あなたの近所の親切なコンピュータの先生として、この旅を案内するのを楽しみにしています。文字列をプログラミングの言葉や文句として考えてみてください。それでは、学習の帽子をかぶり、始めましょう!

Lua - Strings

文字列操作

Luaでは、文字列は色々な方法で操作できる魔法のような文字の配列です。まずは基本から始めましょう。

文字列の作成

local greeting = "Hello, World!"
local name = 'Alice'
local multiline = [[
This is a
multiline string
]]

この例では、3つの文字列を作成しています:

  1. greeting はダブルクォートを使用しています
  2. name はシングルクォートを使用しています
  3. multiline は複数行を含めるためにダブル角括弧を使用しています

シングルクォートとダブルクォートは同じように動作しますが、ダブル角括弧を使用することで改行を含めることができます。

結合(Concatenation)

結合は文字列を一緒に結合するという単純な言葉です。Luaでは .. オペレータを使用します。

local first_name = "John"
local last_name = "Doe"
local full_name = first_name .. " " .. last_name
print(full_name)  -- 出力: John Doe

ここでは、first_name、スペース、そして last_name を結合して full_name を作成しています。

大小文字の操作

時々、文字列を大声で叫んだり(大文字)小声で囁いたり(小文字)したくなることがあります。

local text = "Hello, Lua Learners!"
print(string.upper(text))  -- 出力: HELLO, LUA LEARNERS!
print(string.lower(text))  -- 出力: hello, lua learners!

string.upper()string.lower() 関数は期待通りに動作します。 respectively – 彼らはテキストをすべて大文字またはすべて小文字にします。

文字列の一部を置換

文字列の一部を見つけて置換する必要がありますか?Luaはあなたをサポートします。

local sentence = "I love apples, apples are my favorite fruit."
local new_sentence = string.gsub(sentence, "apples", "oranges")
print(new_sentence)  -- 出力: I love oranges, oranges are my favorite fruit.

ここで、string.gsub() は "apples" のすべての occurrences を "oranges" に置換しています。ワードプロセッサのfind-and-replaceと同じです!

検索と反転

文字列の検索

文字列内のサブストリングを見つけるには string.find() を使用します。

local text = "Lua is fun and powerful!"
local start, finish = string.find(text, "fun")
print("'fun' は位置 " .. start .. " で始まり、位置 " .. finish .. " で終了します")
-- 出力: 'fun' は位置 8 で始まり、位置 10 で終了します

この関数はサブストリングの開始位置と終了位置を返します。

文字列の反転

文字列を後ろから読みたいですか?string.reverse() を使用します。

local forward = "Lua is awesome"
local backward = string.reverse(forward)
print(backward)  -- 出力: emosewa si auL

魔法のように、テキストが即座に反転します!

文字列の格式化

動的なテキストを作成したいときに文字列の格式化は非常に重要です。Luaは強力な方法を提供しています。

local name = "Alice"
local age = 30
local formatted = string.format("私の名前は %s で、年齢は %d 才です。", name, age)
print(formatted)
-- 出力: 私の名前は Alice で、年齢は 30 才です。

この例では、%s は文字列 name に置き換えられ、%d は数 age に置き換えられます。ブランクを埋めるようなものです!

文字とバイトの表現

Luaでは、文字列の個々の文字を操作することができます。

local str = "Lua"
print(string.byte(str, 1))  -- 出力: 76 ('L'のASCIIコード)
print(string.char(76))      -- 出力: L

string.byte() は文字のASCIIコードを返し、string.char() はその逆を行います。

他の一般的な関数

さらにいくつかの便利な文字列関数を見てみましょう。

関数 説明
string.len() 文字列の長さを返す print(string.len("Lua")) -- 出力: 3
string.rep() 文字列を繰り返す print(string.rep("Ha", 3)) -- 出力: HaHaHa
string.sub() 文字列の一部を抽出する print(string.sub("Lua is fun", 1, 3)) -- 出力: Lua

これらの関数は文字列操作のSwiss Army knifeのように、非常に多様で便利です!

結論として、Luaの文字列は強力なツールで、テキストを多くの創造的な方法で操作するのに役立ちます。練習は完璧に近づく鍵ですので、これらの関数を試してみてください。すぐに、複雑なプログラムを簡単に組み立てる自信を持つことができるでしょう!

未来のプログラマーたち、幸せなコーディングを!そして、プログラミングの世界では、文字は文字通り数えられる – 文字が数えられます!

Credits: Image by storyset