12/3は冴草きいちゃんの誕生日、ゆるゆり劇場版を観た、鎌倉に行った、XperiaZ2を無くした、Lua
追記 2015 03/18
"l\\u\\a\\5.3 utf8"で優先言語を日本語にしてGoogle検索するとこの記事が上位に来るなんて書いてる時に思ったわけ無いだろ!
今見ても内容がお粗末すぎるので勘弁してください。追記終わり
こんにちは、びしょ〜じょです。
言いたいことの9割はタイトルに書きました。
12/3は冴草きいちゃんの誕生日
最重要事項です。みんなで祝おう。
XperiaZ2を無くした
バイト先に行く途中のバスで無くした。送迎バスなので玄関のすぐ手前まで行き、ボクはそこで下車する直前まで触っていたのだが…。
もう1周間近く経ったので多分見つからない。
ゆるゆり劇場版を観た
@__mukiさんと公開初日に観に行った。感動した。作画はアニメ版と同じく安定しており、購入したパンフレットに書いてあったとおり画風は原作に寄せた感じだった。
なんといっても背景が(原作、アニメと比べ)繊細に描かれている!!
内容は割といつもの通りの日常だった。ゆるゆり12巻初回限定版についてくる小冊子の内容をもう一度読もう。
ネタバレは大罪なのでこの辺で。ただ一つ最高に可愛かったことは言っておきたい。
鎌倉に行った
なんとなく鎌倉の呼び声が聞こえた。T大の推薦入試による5連休最後の日―ゆるゆり劇場版を観た次の日にあたる―、祖母と行った。
津田沼からJR横須賀総武線快速で1.5h。近いような遠いような。
ちなみにT市から津田沼駅までも同じくらい。
1300くらいに到着した。
鎌倉といえば『青い花』を筆頭に、しばしば物語の舞台として扱われる。
少しくらいは聖地巡礼したいという気分もあったが、90%ほどはなんとなくな感情が覆っていたので鎌倉を舞台とした作品の予習なんていう時間は無かった。
大晦日でも何でも無いのに大勢の人が居た。
鎌倉って観光地だったのか…ところでJR鎌倉駅を降りたらデカい神社があるんですよ。
鶴岡八幡宮とかいう名前で有名なんですって。
そんなことすら全く知らないで行った。
神社を回ったら結婚式らしいものが行われていた。めでたい。
黒漆の白旗神社が格好良かった(小並感)。
それから江ノ電に乗った。ローカル線だし静かなんだろうと呑気なことを考えていたらとんでもない乗客量に仰天した。
ただでさえ4車両で小ぶりなんだぞ、もっといたわり給えよ。
窓から手を出せばひとんちの壁にぶつかってしまう区間がだいぶある程に地域密着(物理)型だった。
ボクはど田舎育ちで、実家から一番近い駅は17kmくらい離れていて全く使えなかったし、電車に乗る機会は帝都に出た時くらいなので、単線はだいぶ新鮮に映った。
なんとなく来たとは言ったが、なんとなくの中に海に行きたいという思惑が埋まっていたので、初めて車窓から海が見えたところで駅から降りた。七里ヶ浜駅。
とはいえ行くあてはなかったので海沿いの道を歩いた。砂浜もちょっと歩いた。
気づけばひと駅分歩いていた。浜辺で波に濡らされた靴を引きずる祖母と共に、鎌倉高校前駅から藤沢駅までまたオノデンに乗った。
藤沢駅についたのは1530。神社の参道から昼飯は食べようと思っていたが、鎌倉では何が名産で、どれを食べれば徳が積めるかなど考えていたら結局今の今まで何も食べないでいた。
祖母が虫歯を患っているらしく、固いものは食べられないようで。彼女は特にグラタンを所望していたので、駅ビルのイタリアン飯屋で遅い昼食をとった。ハイカラ娘め。
WORDのOBの方がご飯をおごるという会がその日の1830からだったが、ボクがチバラギスタン南部を発ったのは1830で、もうアホかと。
とりあえず行ったらタダ飯会はほとんど終了していた。
とりあえず小籠包と水をもらった。
Lua
最後までどうでもいいルポを読んだ人は多分ここを読まないし、ルポを読み終えなかった人はここまで読まないだろうから、一番どうでもいいことは最後に書こう。
最近Luaという言語を始めました。Luaの詳細はウィキピーディア先生などに聞いてください。
簡単に説明すると、高速な動的型付けのスクリプト言語だと思います。ウィキピーディア先生の概要のあたりを見れば多分もうすこしまともなことが書いてあります。
唯一のデータ構造はtable{}
いわゆる連想配列です。
t = {1, 2, 3, "a", "b", (function sum(a, b) return a + b end)} print(t.sum(1, 2)) --> 3
なんでも入れられる。要素に名前も付けられて、上記では関数にsumという名前をつけてt.sum()
という感じで関数を呼んでいる。
これはt["sum"]
の糖衣構文で、後述するようにオブジェクト指向型言語テイストな書き方に貢献している。
ついでに--
で以降右の文字はコメントになる。他にもコメントの方法はあるがカツアイ。
さらに言うと標準ライブラリは_Gというtableに入ってる。
(function (x) print(x) end) (3) --> 3
無名関数とかできる。かっこいい(雑)。
function addx (x) return function (y) return x + y end end
functionも返せる。カリー化とかできるぞい。
t = {} mt = {x = 1, y = 2} setmetatable(t, {__index = mt}) print(t.x) --> 1
先ほどのtableにメタテーブルというものをくっつけることでtable同士で二項演算をしたり、別のtableから要素を持ってくるなどができる。
速い
多機能
コルーチンとかある(雑)。
a, b = b, a
という代入が許されているのでtmp()とか書かなくていい(雑)。残念な点
string.len("a") --> 1 string.len("auieo") --> 5 string.len("あ") --> 3 string.len("あいうえお") --> 15
string.len(str)
は察しの通りstring型strの文字数を返す関数だが…。Luaがブラジル発祥なのが悪いんや…。
ただしこれはLua5.2までの話で、Lua5.3ではutf8という型が生み出され、
utf8.len("あいうえお")
は大和の民に5
を返してくれる。とはいえstring型がUTF-8に対応したというわけではなく、悲しさはにわかに残る。
Rubyで
str.to_i
にあたるtonumber(str)
も、strに二項演算を書いてもうまく動いてくれなくて厳しい。
tonumber("51") --> 51 tonumber("51-2") --> nil tonumber("51*1") --> nil
え、tonumber()
ってそんな用途に使わないんですか。っていうくらいtonumber()
の中身で計算をしようとしている人が居ない。ごめんなさい世間的にはボクが悪いようです。
追記(12/04 16:09)
function tonumber_ext local f = loadstring("return " .. str) return f() end
でいけますね。作れっていうことでした。追記おわり。
Lua 蛇足
Luaは完全に名前で選んだので、何に使われているかしっかり調べるまで全く知らなかった。当初はC/C++の組込みを目的に作られ、最近ではゲームエンジンで活躍している。
アイマス2も一部Luaが加勢しているらしい。ほかにはNginxとかLuaLaTeXとかヤマハルータとかヴォカロとか。
現在ボクがデスクトップpcのArchLinuxで使っているタイル型WM "awesome" もLuaで記述されている。
二度目ですが詳細はウィキピーディアを見ろください。
めちゃくちゃどうでもいいんだけどはてブのMD記法ゴミ