「NeoLua」の版間の差分
imported>Administrator 編集の要約なし |
imported>Administrator |
||
| 17行目: | 17行目: | ||
=== ハロワ === | === ハロワ === | ||
まずは定番の[[ハロワ]] | まずは定番の[[ハロワ]]。NeoLuaには2種類の実行環境がある。頭の固い人向けの静的版と、ユルユルな人向けのdynamic版である。CreateEnvironmentメソッドの戻り値の型を、「var」(型推論)にすると静的版に、「dynamic」にするとdynamic版になる。dynamic版は[[インテリセンス]]が効かない諸刃の剣であるが、ある程度慣れると圧倒的にこちらの方が便利かつ簡潔明瞭である。ちなみにdynamic版のdochunkは小文字だぞ。 | ||
こういう書き方もできる。 | こういう書き方もできる。 | ||
| 65行目: | 56行目: | ||
=== C#で関数を追加する === | === C#で関数を追加する === | ||
NeoLuaではLuaでfunctionを書く方法だけでなくC#で関数を追加することもできる。NeoLuaではLua標準ライブラリの「os名前空間」が未実装だったりするので、日付・時間などを扱おうと思う場合は、この方法で実装すれば綺麗に決まる。Lua側からclr名前空間を叩いて実装する方法もあるがあんまり綺麗じゃない。<source> | |||
<source> | |||
using (var lua = new Lua()) | using (var lua = new Lua()) | ||
{ | { | ||
| 80行目: | 70行目: | ||
</source> | </source> | ||
ちなみにdynamic版の場合だと更に簡潔明瞭。<source> | |||
<source> | |||
using (var lua = new Lua()) | using (var lua = new Lua()) | ||
{ | { | ||
| 89行目: | 78行目: | ||
env.add = new Func<int,int,int>((a,b) => a+b); | env.add = new Func<int,int,int>((a,b) => a+b); | ||
} | } | ||
</source> | </source> | ||
== 外部リンク == | == 外部リンク == | ||