1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

20分でまとめる備忘録 Luaの文字列を連結する

Last updated at Posted at 2023-06-08

備忘録するきっかけ

LuaにもC#のように+=で繋ぐ「+演算子」がある、と思っていたら無かった。

連結方法

Luaで文字列連結をするには、以下二つしかない

  • ..演算子による連結
  • string.format()を使用する連結

..演算子による連結

+=のように既存の文字列に追加したい場合はこうなる。
スマートに見えない... ただ、知らなくても読めるので、これで十分なのかもしれない。+=はエゴなのかも

local hello = "hello"
local hello = hello .. " word"
print(hello)
=> hello word

..演算子による連結によるはまりポイント

文字列に数値を連結させたい場合、普通にこう書いたところエラーになった。

local price = 100
local priceStr = "price "..price
print(priceStr)
=> エラー

Luaでは数値を文字列と自動的に連結できないらしい。連結するにはいちいちtostring()で文字列にする必要がある

local price = 100
local priceStr = "price "..tostring(price)
print(priceStr)
=> price 100

string.format()を使用する連結

C言語系の、printf()的な書き方。string.format系はあまり使わない印象があったが、Luaに限るとこちらの方がスマートに見えてくる

local price = 100
local priceStr = string.format("price %d", price)
=> price 100

%dの部分は指定子といい、%dは整数(10進数)、%sの場合は文字列が代入される。他にも種類があるが9割この二つしか使わなさそう。

公式参照

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?