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.

Lua入門体験記 Part(1/n)

Last updated at Posted at 2023-03-05

はじめに

Vim駅伝への参加をきっかけとして、既存のNeovim設定(Vim scriptで書かれたinit.vim)をLuaで書き換える義務が発生しました。

そもそも使ったことのない言語で、Vim界隈外では名前を聞いたことすらありませんでした。

せっかくの機会なので、入門してみたいと思います。

(本記事は単なるLuaの入門体験記であり、Neovimの記事ではありません。)

著者について

matoruruといいます。ちなみにmatoruruは猫😺です。

matoruruとは、私のTwitterGitHubのアイコンにもなっている黄色いやつのことです。

matoruruは全てフィボナッチ数列に従ったサイズの真円で構成されています

VimからNeovimへ移り住んできたVimmerです。最近は諸事情によりVS Codeを使っていますが、Vim拡張でしのいでいます。


・・・失礼しました、ここから本編です🐈

環境

Ubuntu 20.04.5 LTS

インストール

> sudo apt install lua

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package lua is a virtual package provided by:
  lua5.3:i386 5.3.3-1.1ubuntu2
  lua5.2:i386 5.2.4-1.1build3
  lua5.1:i386 5.1.5-8.1build4
  lua50 5.0.3-8build1
  lua5.3 5.3.3-1.1ubuntu2
  lua5.2 5.2.4-1.1build3
  lua5.1 5.1.5-8.1build4
You should explicitly select one to install.

E: Package 'lua' has no installation candidate

怒られてしまいました。バージョンを指定する必要があるそうです。

以下のようにしたらインストールできました。

sudo apt install lua5.3

インストールできているかどうか確認します。

> lua -v
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio

大丈夫そうですね。

ファイルの拡張子は.lua

大切です。

実行方法

> lua ファイル名

コメント

-- コメントは「--」で書く

--[[
複数行
コメント
は
こんな感じ
]]--

エントリーポイントはない

CやJavaのようにmain関数のような入り口はないらしい。

聞いていたとおりスクリプト言語ですね。上から順に実行される。

変数

宣言せずに使える。Bashとかと同じですね。

データ型

宣言をしないので、変数自体に型はない。

でも値にはデータ型がある。JavaScriptとかと同じ動的型言語です。

x = "Hello, world!"
print(x)
-- Hello, world!

念願のハローワールドをしました。標準出力はprint関数です。

数字や文字列、bool型も使えるみたい。

x = 1
print(x)
-- 1

x = 10
print(x)
-- 10

x = true
print(x)
-- true

関数も変数に入れられるらしい。(関数型プログラミングもいけそうだ・・・)

少し試してみる。

変数myprintにprint関数を代入してみる
myprint = print
myprint("worked!")
-- worked!

お!動いた😺

関数の引数としても関数を渡せるらしいので、関数型プログラミングができちゃいますね。

とりあえず入門記事の第1章はここまでにします。

最後に

記事を読んでくださってありがとうございます!

Twitterフォローしていただけると記事を書き続けるモチベーションになります😺
https://twitter.com/_matoruru

参考

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?