Wikimedia の公式ブログ記事によれば、Wikimedia 財団は、管轄するプロジェクトで プログラミング言語 Lua を使ったテンプレートの利用の開始したと発表した。英語版ウィキペディアなど、一部は先行して実装していたが、これにより全てのプロジェクトで有効になった。 これまで、MediaWiki では独自のテンプレート言語を使ってきたが、複雑で、かつパフォーマンスにも難があった。今回の動きで MediaWiki 上で Lua によるコードを含めたテンプレートを作成できるようになり、それによりより簡潔でパワフルなテンプレートが作成可能になった。そのうちの一部は英語版ウィキペディアの Category:Lua-based templates のページから確認できる。同等の機能を自前の MediaWiki に組み込むには、Extension:Scribunto を利用する必要がある。
2013年03月11日18:15 カテゴリTipsLightweight Languages ついに顕在化しはじめたArrayリスク JavaScript: The Definitive Guide (Kindle ed.) David Flanagan [邦訳:JavaScript 第6版] 以下のようにした理由は、実はJavaScriptのArrayが配列ではないことに起因します。 404 Blog Not Found:Algorithm - Ruby 2.0 や Haskell の遅延リストを JavaScript で これに対して、List.Lazyではmapやfilterを関数合成で実現しています。JavaScriptのArrayが、(整数個のデータ構造が順序よくならんだ古典的な意味での)配列でないことは、以下のように確認できます。 JavaScript var ary = ne
2012-05-04 2013-03-13追記 この記事が@matzさんにツイートされたのを受けて、各処理系の最新版で再度試してみました。 lua, V8, ruby, mrubyでfib(39)の実行時間比較 2013-03-12版をご参照ください。 mruby (軽量ruby) ソース公開 | quredo-styleを見て、自分の環境でlua, luajit, V8, ruby, mrubyで試してみた。 テスト環境 Model: MacBook Air 13-inch, Mid 2011 CPU: 1.7GHz Intel Core i5 RAM: 4GB 1333MHz DDR3 OS: Mac OS X Lion 10.7.3 lua fib.lua function fib(n) if n < 2 then return n end return fib(n-2) + fib
Lua が組み込まれているアプリはどんなものがあるか。 ゲーム World of Worcraft: Diablo を世に送り出した Blizzard Entertainment の看板 MMORPG。コア API が Lua でラップされていて、UI なんかはすべて Lua で書かれているらしい。カスタマイズ(というか拡張)も可能で、Lua が使いこなせればウィザードとしてあがめられるとかなんとか。やったことないからよく知らないけど。 ラグナロクオンライン: 今ではパズドラだけど、GungHo と言えば以前はこれだった。ユーザスクリプトでホムンクルスという NPC? の AI を制御できる。バージョンアップで突然こういうことができるようになるのがオンラインゲームのいいところだな。 FF14: オンラインゲームで Lua はお約束なんでしょうか。マクロ一発で着替えたりとか、複雑な手順を簡素
Lua Scripting Support Being Added To NetBSD Kernel Written by Michael Larabel in BSD on 14 February 2013 at 09:24 AM EST. 19 Comments Support for the Lua scripting language is being added to the NetBSD kernel so that it's possible to interact with the BSD kernel's various subsystems using this popular scripting language. With a Lua interpreter being added to the kernel, it's even possible to exten
米ゲームデベロッパーUnknown Worlds Entertainmentは2月13日、同社がゲーム開発用に作成したLua向け統合開発環境(IDE)「Decoda」をオープンソースで公開した。Windows向けのIDEで、現在は32ビットのWindowsアプリケーションのみをビルドできる。 Unknown Worldは独立系のゲームデベロッパーで、FPSゲーム「Natural Selection」や数独ゲーム「Zen of Sudoku」などのゲーム開発を手がけている。今回ソースコードを公開したDecodaは、「Natural Selection 2」開発のために2007年に社内で構築したWindows向けのデバッガおよびIDE。その後外部開発者向けに商用版として提供してきたが、このたびソースコードを公開してオープンソースプロジェクトとした。これについてUnknown Worldは、「N
前にRubyで番組表を取得しているのを見かけた気がするので 勉強をかねてLuaでやってみた。 必要なもの dkjson (JSONパーサー) LuaSocket (なければ) Lua5.1にはLuaSocketが入っていると見た気がしたのですが、入ってなかったので。 ソースコード local http = require ("socket.http") local ltn12 = require("ltn12") json = require ("dkjson") -- テーブル pref = {Hokkaido=1, Aomori=2, Iwate=3, Miyagi=4, Akita=5, Yamagata=6, Fukushima=7, Ibaraki=8, Tochigi=9, Gunma=10, Saitama=11, Chiba=12, Tokyo=13, Kanagawa=
"split" [1] and "join"[2] are two common string operators that are essentially inverse operations of each other. Split separates a string containing a delimiter into the list of substrings between that delimiter. Join combines a list of strings into a new string by inserting a delimiter between each string. There are various ways to design and implement these functions in Lua, as described below.
NYAOSから、外部のLua拡張DLLを参照するようなLuaスクリプトを使う場合に multiple Lua VMs detectedとか言われる件。 ※luamigemoに限った話じゃないけど、例としてluamigemoで書きます。 今までNYAOSもluamigemoもlua5x.dllをダイナミックリンクにして回避してたけど、 NYAOSがLuaをスタティックリンクしてる場合はLuaの関数をexportして、 luamigemoもそっち参照すれば良いんじゃね?ってことで実験してみました。 結果から言うと動いてます ざっくりこんな手順 NYAOSをLuaスタティックリンクでビルド。この時、LUA_LIBをdefine リンクライブラリを作る pexports nyaos.exe > nyaos.def dlltool -D nyaos.exe -d nyaos.def -l libny
http://twolivesleft.com/Codea/ Proce55ingのAPIを意識して作られている上に、エディターやカラーピッカーまで付いててすごい。 コード補完も便利で、ちょっとしたプロトタイピングには最高の環境じゃなかろうか。 ただし、アプリの制限でファイルの入出力が出来ないので画像ファイルセットを新しく用意するとかが出来ない。 せめて外部へのプロジェクトファイルの入出力があるだけでも良いんだけど、現状だと自分一人で満足する事しかできないのが残念だ。 Codifyでclassを記述する時の方法が以下の様な感じで、metatableを意識しないで書けるのがとても良かったので実装してみた。 Vec3 = class() function Vec3:init(x,y,z) self.x,self.y,self.z = x,y,z print("vec3:init",x,y,z)
MoonScriptはCoffeeScriptライクな記法でLuaのコードを生成するソフトウェアです。 個人的にもCoffeeScriptは好きでよく使っています。そんなCoffeeScriptにインスパイアされて開発されたのがMoonScriptです。CoffeeScriptライクな記述をするとLuaに変換してくれます。 こちらはMoonScriptのコード。確かにCoffeeScriptに似ています。 右側がLuaに展開したコード。MoonScriptのが分かりやすく、コード量も少なそうです。 関数を使う例です。 これはどちらもさほど変わらない印象です。 importという構文がサポートされています。 構文は若干拡張されている感はありますが、CoffeeScriptが書ける人であれば十分理解できるのではないでしょうか。サンプルは特化した例を記述しているとは思いますが、Luaに比べるとM
- lev is a platform for building servers more easily than Node. It is based on Lua and libuv and is faster and uses less memory than Node. - The founders of lev overhauled lua-event and reimplemented many parts like cBuffer and MessagePack for better performance. - lev supports multicore processing out of the box and has a redesigned API compared to lua-event.Read less
function each_utf8(text) local i=1 return function() if i>#text then -- 終了 return end local b=string.byte(text, i) if b==0 then -- eof return elseif b<128 then -- ascii local m=string.sub(text, i, i) i=i+1 return m elseif b<192 then assert(false, 'invalid byte') return elseif b<224 then -- 2bytes local m=string.sub(text, i, i+1) i=i+2 return m elseif b<240 then -- 3bytes(japanese multibyte) local
こんばんは. 今日はOpenRestyを通してNginxを触ってみます. Nginxって? 高性能高速Webサーバだよ! プロキシサーバにも使えるよ! ちなみに呼び方は「エンジンエックス」だよ! 「ンギンクス」じゃないよ!! OpenRestyって? Nginx+便利な拡張モジュール群なパッケージだよ! Luaを通してサーバの制御ができるよ!! 今回はほぼNginxの使い方の紹介ですが,後日,拡張モジュールで遊びたいのでOpenRestyを選択しました. ダウンロードとインストール 基本的に公式ページ通りにやればいいです.僕はScientificLinux6.2にインストールしました. yum install readline-devel pcre-devel openssl-devel #必要なパッケージをインストール wget http://agentzh.org/misc/nginx
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyやmod_lua、そしてこれまでApacheモジュールをスクリプトで書く場合に使われてきたmod_perlとの性能比較を行っています。 modとしてのアーキテクチャの差で処理系の性能差を埋める 処理系としての差ではなく、Apacheのmod_***としてのアーキテクチャの差によって、Apache上での性能が大きく変わる事が分かってます。Apacheはプロセス(スレッド)をプールしておいて、複数のリクエストに対しプロセスを再利用するアーキテクチャであるため、インタプリタのロードやライブラリの読み込み、さらにはスクリプトをコンパイルするタイミングを工夫すれば、Apache上では高速に動作させる事が可能になります。 例えば、mru
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く