【Lua】組み込み系言語総合 その4【Squirrel】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2011/03/30(水) 01:00:58.93使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■前スレ
【Lua】組み込み系言語総合 その3【Squirrel】
http://hibari.2ch.net/test/read.cgi/tech/1272643397/
■過去スレ
その2 http://pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 http://pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/
その2 http://pc8.2ch.net/test/read.cgi/tech/1063711237/
その1 http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
0809デフォルトの名無しさん
2011/10/25(火) 08:16:25.28warning LNK4248: 未解決の typeref トークン (0100001A) ('lua_State') です。イメージを実行できません。
とでる、このwarningどうしたら解決できるのだろうか?
#include "stdafx.h"
#include <lua.hpp>
using namespace System;
int main(array<System::String ^> ^args)
{
lua_State *L;
return 0;
}
0810デフォルトの名無しさん
2011/10/25(火) 09:23:00.98#include <lstate.h>
0811デフォルトの名無しさん
2011/10/26(水) 01:36:17.410812デフォルトの名無しさん
2011/10/26(水) 01:55:37.870813デフォルトの名無しさん
2011/10/26(水) 01:58:43.66ない。
enum相当ならば
http://lua-users.org/wiki/ReadOnlyTables
などで実現できる。
0814デフォルトの名無しさん
2011/10/26(水) 16:41:55.17少し残念に思ったりする。まぁ代わりの手段はあるとはいえ。
0815デフォルトの名無しさん
2011/10/26(水) 19:42:30.06気に入らなかったら自分で拡張すれば良いんだし。
0816デフォルトの名無しさん
2011/10/27(木) 20:16:43.70それもそうか。速さは大事だし。
あんま気にしてなかったけどluaってインタープリター系の言語なんだっけ?
0817デフォルトの名無しさん
2011/10/27(木) 21:53:16.360818デフォルトの名無しさん
2011/10/27(木) 23:16:29.31中間言語にコンパイルして、その中間言語をインタプリタ(VM)が実行するスタイルなので、
分類としては「中間言語コンパイラ(バイトコードコンパイラ)」かな。
JIT機能があるので、実際の動作はさらに複雑
0819デフォルトの名無しさん
2011/10/28(金) 04:56:52.45つけ忘れると、グローバルになってしまう。
スクリプトはプログラマ未満が書くことも多いため、結果グローバル変数が散見されることもある。
Pythonみたいにデフォルトでローカル、キーワード明示宣言でグローバル出あるべきだと思う。
0820デフォルトの名無しさん
2011/10/28(金) 06:05:49.67あー、考えてみたらその通りだね。
PHPやPythonみたいにグローバル宣言の時はglobal指定子必須とかにしておくべきだったと思う。
まぁlocal指定子も語感がカッコよくて割りと好きなんだけどねw
0821デフォルトの名無しさん
2011/10/28(金) 07:24:52.97for i=1,10 do
のi ってlocal扱いしてくれるのかな?
0822デフォルトの名無しさん
2011/10/28(金) 07:36:35.690823デフォルトの名無しさん
2011/10/28(金) 07:45:56.61for文で用いられる変数はローカル変数になると言語仕様に明記されている。
>>821
こんなシロウトがいて開き直るから困る。
0824デフォルトの名無しさん
2011/10/28(金) 07:47:39.290825デフォルトの名無しさん
2011/10/28(金) 08:00:41.25グローバル変数なんてだいたい無くても何とかなるし
0826デフォルトの名無しさん
2011/10/28(金) 08:10:50.50i と l を見間違えるからとかあほっぽいこといいださないだろうな。
0827デフォルトの名無しさん
2011/10/28(金) 08:30:17.05連携先の言語は基本的に0開始だから妙なバグ埋め込まないか不安になる。
まあ今更変更なんて効かない部分だろうけど。
0828デフォルトの名無しさん
2011/10/28(金) 10:26:40.29for ( int i=0; test != 10; i++ )
とか条件節に任意の式書けるけど
luaのfor文って条件節に相当する部分には繰り返す数しか書けないよね
while文あるから別に困らないけど少し驚いた
0829デフォルトの名無しさん
2011/10/28(金) 10:59:19.34whileでもifでもブロック内でlocalにしようと思えばできるところがいいんじゃないか
localをつけ忘れる言語より、つけようと思ったのにできなかった言語の方が不安だ
配列も、ずらそうと思えばずらせる
0830デフォルトの名無しさん
2011/10/28(金) 11:29:17.48マイナーで流行らないオナニー言語の増加を招くだけ。
0831デフォルトの名無しさん
2011/10/28(金) 11:55:32.02http://moonscript.org/reference/
これとか中々良いんじゃないか
0832デフォルトの名無しさん
2011/10/28(金) 13:01:35.57もっと深刻なことは、そのグローバル変数がどの環境で束縛されているか分からなくなるから、クロージャやコルーチンを安全に使うことが難しくなる。
いや、普通に関数呼び出しを行うのも怖くなるか…。
0833デフォルトの名無しさん
2011/10/28(金) 17:30:35.91グローバルやらローカルやら教えて使わせるのってつらくないか?
起動に時間かかるプログラムを再起なしで変更くわえられるので
スプリクトとして使えるのがうれしいけど
中級者以上限定って感じ?
皆どんな感じで使ってるの?
0834デフォルトの名無しさん
2011/10/28(金) 17:37:49.620835デフォルトの名無しさん
2011/10/28(金) 19:06:02.220836デフォルトの名無しさん
2011/10/28(金) 19:41:00.53その使途や目的の都合上、実用する際はそれなりにスキルのある人間がやる事が多いんだよね。
だから割と不満が出るんだろうな。
0837デフォルトの名無しさん
2011/10/28(金) 21:20:58.72luaにcoffeescriptやこういうのみたいに、コンパイラや静的型チェッカーを作ってるプロジェクトはあるのかな?
0838デフォルトの名無しさん
2011/10/28(金) 21:33:08.74lua type-safeで探したら、LuaWrapperという、新しいc++ラッパーが出てきた。
https://bitbucket.org/alexames/luawrapper/src
https://bitbucket.org/alexames/luawrapperexample/src
0839デフォルトの名無しさん
2011/10/28(金) 21:57:31.51http://lua-users.org/wiki/ProgramAnalysis
0840デフォルトの名無しさん
2011/10/29(土) 06:30:45.13池袋の西部百貨店の本屋行ってみ。あるから。スプリクトコーナー。マジで。
0841デフォルトの名無しさん
2011/10/29(土) 07:53:37.42まじかww
0842デフォルトの名無しさん
2011/10/29(土) 09:12:44.46気になるなら、配列先頭にマッチする正規表現を作ってgrepした結果を比較したら良いだけの話では?
その程度の作業なら3分もかからないだろ。
0843デフォルトの名無しさん
2011/10/30(日) 00:55:20.21http://www.slideshare.net/Isoparametric/12-luavm
へ〜
0844デフォルトの名無しさん
2011/10/30(日) 01:00:39.62あざーす
0845デフォルトの名無しさん
2011/10/30(日) 03:45:12.60lua組込フリークってオオイナー
http://www.linuxjournal.com/content/luakit-extensible-micro-browser
0846デフォルトの名無しさん
2011/10/30(日) 06:27:16.17http://www.nyaos.org/
0847デフォルトの名無しさん
2011/10/30(日) 06:55:52.10それ比較しても配列の添字が変数だとどうしようもないと思うけど
0848デフォルトの名無しさん
2011/10/30(日) 08:40:20.490849デフォルトの名無しさん
2011/10/30(日) 09:18:02.24その変数も追えば良いんじゃね?
0850デフォルトの名無しさん
2011/10/30(日) 21:08:55.990851デフォルトの名無しさん
2011/10/30(日) 22:31:41.67全部変える必要があるか分からないけど。
zeroforとかキーワード追加するのもありかもね。
0852デフォルトの名無しさん
2011/10/30(日) 22:38:47.11http://lua-users.org/wiki/IndexIntervalFormatIssue
コメントだらけ、、、
0853デフォルトの名無しさん
2011/10/31(月) 01:46:29.25自分は最初C学んだ時に0開始になれるのに結構時間かかった。
1開始のが初学者には絶対直感的だけど慣れてくると0開始のが確かに楽できるね。
自分はluaのダメだと思うところはやっぱグローバルがデフォルトなところ。
あとi++とかi += 1とかいう書き方ないのもちょっと面倒くさい
あとさ、luaってCやC++みたいな関数のプロトタイプ宣言なくて
PHPやJavaScriptみたいにファイルの下の方にある関数を自動的に先読みもしてくれないよね。
同一ファイル内でなら自作関数呼び出す前に関数を先に書いておくしかないから
そこがちょっとなーって思う。
まあlua超早いからそういう欠点は大したことないんだけどねw
0854デフォルトの名無しさん
2011/10/31(月) 02:46:17.94http://www.rtpro.yamaha.co.jp/RT/docs/lua/tutorial/strict_lua.html
http://lua-users.org/wiki/DetectingUndefinedVariables
0855デフォルトの名無しさん
2011/10/31(月) 03:09:59.10混在してるのは困るが、オリジンは慣れりゃ大差ない
>
> 自分はluaのダメだと思うところはやっぱグローバルがデフォルトなところ。
今更後方互換捨てて変えられてもまいるけどね
ま、省略時グローバルになる言語ならstrictモードがあるし。
> あとi++とかi += 1とかいう書き方ないのもちょっと面倒くさい
代入が文はメリットでもある
> あとさ、luaってCやC++みたいな関数のプロトタイプ宣言なくて
> PHPやJavaScriptみたいにファイルの下の方にある関数を自動的に先読みもしてくれないよね。
> 同一ファイル内でなら自作関数呼び出す前に関数を先に書いておくしかないから
> そこがちょっとなーって思う。
function f(){}ではなくf=function(){}のつもりで。
0856デフォルトの名無しさん
2011/10/31(月) 06:02:13.68MetaLuaにcontinueがあった、
制御文も関数型言語みたいに関数なのかとおもったら、ASTでプログラム構造をいじってた。
http://metalua.luaforge.net/src/index.html
0857デフォルトの名無しさん
2011/10/31(月) 07:51:21.08主観的なことを並べて日本語のほうが英語より優れてるとかいっても無駄だよ。
0858デフォルトの名無しさん
2011/10/31(月) 12:52:49.11luaはハングルみたいなものだと思う
0859デフォルトの名無しさん
2011/10/31(月) 13:52:02.290860デフォルトの名無しさん
2011/10/31(月) 15:14:48.87と書かなくても
「女です」(i++)
と書ける日本語のほうが優秀ーとかいっても無意味ってこと。
0861デフォルトの名無しさん
2011/10/31(月) 15:31:09.68書式を簡略化するメリットというのは確かにあるわけだし。
0862デフォルトの名無しさん
2011/10/31(月) 16:09:18.100863デフォルトの名無しさん
2011/10/31(月) 16:14:29.87いまでも、未定義なの?
0864デフォルトの名無しさん
2011/10/31(月) 16:19:32.42i++はあまり必要じゃないけど
++iはよく使うからあったら嬉しい
0865デフォルトの名無しさん
2011/10/31(月) 16:27:01.87だったら i+ とか i~ とかでもいいやん。i++は長いだろ。
別に短いのがいいのか悪いなんて議論するつもりはないよ。
自分がよく使う言語にあるという主観的理由で言語仕様を批判しても無駄といってるだけで。
0866デフォルトの名無しさん
2011/10/31(月) 16:31:30.570867デフォルトの名無しさん
2011/10/31(月) 16:32:54.66++i は i += 1 と同じだから、C言語では特にいらん気がするけど、i++ は i を
インクリメントしたうえで、式の値はインクリメント前の値だから、たまに
うまく使えることがある。
0868デフォルトの名無しさん
2011/10/31(月) 16:39:06.650869デフォルトの名無しさん
2011/10/31(月) 16:41:03.760870デフォルトの名無しさん
2011/10/31(月) 16:47:56.23~はCでもNOTだよ。ただしビット演算の方だけど
0871デフォルトの名無しさん
2011/10/31(月) 17:46:59.37ポストインクリメントが出来たからだよな
ポインタなんかでは合理的
0872デフォルトの名無しさん
2011/10/31(月) 17:47:55.160873デフォルトの名無しさん
2011/10/31(月) 17:51:56.06PDPで出来たのかな?
0874デフォルトの名無しさん
2011/10/31(月) 18:43:47.55自分が良く使う、というレベルではなく
過半数のプログラミング言語にある仕様であればそれはもう主観的とは言いがたい。
既存のプログラミング言語とどこが違うか考えることは
言語の深い習得にとても重要なことだよ
0875デフォルトの名無しさん
2011/10/31(月) 18:57:09.530876デフォルトの名無しさん
2011/10/31(月) 19:33:19.73構文糖も外の人に任せて本家はVM的なものだけ作ってればいいんじゃないの
0877デフォルトの名無しさん
2011/10/31(月) 21:34:46.510878デフォルトの名無しさん
2011/10/31(月) 22:18:37.5568kの元になったアーキテクチャだしな
ちょっとみた限りアクセスサイズ分はいけんじゃないかな
任意のサイズは無理だが
0879デフォルトの名無しさん
2011/11/01(火) 01:09:51.02「過半数のプログラミング言語にある」だなんて、プログラミング言語を少々知ってれば、
決して言えない台詞だと思うがどうか。
あと ++ の存在、だなんていう表層にとらわれたらダメで、意味論を考えないと。
0880デフォルトの名無しさん
2011/11/01(火) 04:00:23.69現状不満は無いけどもう少し使いやすくなればいいのにな、って言ってるだけで。
どうもこのスレは理屈っぽいというか偏執的というか、そんな人が多いね。
0881デフォルトの名無しさん
2011/11/01(火) 04:13:38.15luaをjavaで使うライブラリでluaJってのがあるみたいだけど、これ速度面は大丈夫なのかな。
見たところ全部javaで書かれてるっぽいから、持ち味の速度が殺されてしまいそうで不安なんだけども。
やっぱJNIで自前実装すべきなんだろうか?
0882デフォルトの名無しさん
2011/11/01(火) 04:58:55.99言い方が悪かった。過半数というのは古今東西の言語全てではなく、
今主流になっている実務で使われるような言語の中で、という意味ね。
例えば書店で参考書籍が普通に買える様なプログラミング言語には
まず++か+=の仕様が存在すると思う。
まぁ、これは別に++や+=に限らず、他の部分にも言える。
人が使う言語にある仕様ってのは少なからず人が求めているっていうそういうこと。
君だって別に無いならないでもいいけど、あればあった方がいいとは思わない?
0883デフォルトの名無しさん
2011/11/01(火) 07:02:38.52字面さえ真似ればよくて、もともとそう書かれた理由というのを無視してでもいいじゃない、
便利なんだから。ってこと?
0884デフォルトの名無しさん
2011/11/01(火) 07:28:55.34Luaは、自分でも作れそうな気がするところに魅力を感じるので
求める人と作る人に分かれて話し合うのは違和感がある。
そういう別々の立場に立つという発想自体が、無い方がいい。
0885デフォルトの名無しさん
2011/11/01(火) 07:58:35.23何度もいうけど
英語的な文法が世の主流だから英語が客観的に優れてる日本語もそうすべきとかいっても無駄だよ。
0886デフォルトの名無しさん
2011/11/01(火) 08:22:16.31>>885
いいたとえだ。
文の最初に動詞があれば命令、という規則は単純でわかりやすいから、
日本語もそうしろ、って理屈が暴論なのはわかるよね。それと同じだから。
0887デフォルトの名無しさん
2011/11/01(火) 08:34:45.05「○○あったら便利じゃね?」「せやな」
これで済む話だろ。いい加減この話は終われ。邪魔。
>>882もいくら言っても多分平行線で終わるから諦めたほうがいい。
0888デフォルトの名無しさん
2011/11/01(火) 08:40:15.98結局何度も何度も蒸し返しやがるからウザいんだよこのネタは。
0889デフォルトの名無しさん
2011/11/01(火) 08:50:42.040890デフォルトの名無しさん
2011/11/01(火) 09:05:23.990891887
2011/11/01(火) 09:06:49.97ダメな発想ねぇ・・・
蒸し返すも何もLua自体の開発はまだやってるんだから
言語仕様についての話題出すのは別に構わないと思うんだがな。
そういやLua5.2ってまだリリースはされてないんだったっけ?
0892デフォルトの名無しさん
2011/11/01(火) 09:07:32.13間違ったことは正さないと。オナニー仕様のオナニー言語が増えるだけジャン。
0893デフォルトの名無しさん
2011/11/01(火) 09:11:27.310894デフォルトの名無しさん
2011/11/01(火) 09:37:36.830895デフォルトの名無しさん
2011/11/01(火) 09:47:37.97いいこと言うな。オナニー仕様がいい奴はオナニー言語でも使ってればいいんだよw
0896デフォルトの名無しさん
2011/11/01(火) 09:55:36.580897デフォルトの名無しさん
2011/11/01(火) 10:27:04.39一番下にダイクストラの説明が
http://c2.com/cgi/wiki?ZeroAndOneBasedIndexes
0898デフォルトの名無しさん
2011/11/01(火) 10:42:56.32自作の Teco では ++ のみの文(ステートメント)として定義したよ。
でもC言語で += の動作が未定義になる時ってどんな時だ?
0899デフォルトの名無しさん
2011/11/01(火) 15:15:04.92が未定義とかって意味ではなくて?
0900デフォルトの名無しさん
2011/11/01(火) 15:15:43.450901デフォルトの名無しさん
2011/11/01(火) 22:04:19.34ストリームみたいに何かの演算子で渡して、自身の参照を返すようなオブジェクトではダメかい?
int a=100;
ASSteam s;
s<<"とりあえず "<<a<<"を表示";
みたいな感じで。
0902デフォルトの名無しさん
2011/11/01(火) 23:38:19.42それってSquirrelじゃね?
0903デフォルトの名無しさん
2011/11/02(水) 00:05:27.75初歩的な質問をする時は名無しを装ったほうがいい
0904デフォルトの名無しさん
2011/11/02(水) 07:49:09.41ありがと。深く考えてなかったw
++ や += みたいな省略記法が便利かどうかは主観的なのかね?
0905デフォルトの名無しさん
2011/11/02(水) 08:19:33.68義務よりオプションが便利
0906デフォルトの名無しさん
2011/11/02(水) 08:59:20.14ここは最近やたら屁理屈こねまわす奴が常駐してるからその問いに関するまともな答えは返ってこないと思うよ。
ID出ない板だからいくらでも自演できるしな。
自分の意見としてはこの程度の事で主観だの義務だの議論する事自体ナンセンスだと思うね。
糖衣構文なんて元々オプションみたいなもんだし、いやなら使わなければいいだけ。
他人のソースを解析とかしない限りそれを見ることは決して無いんだから、ソースが分かりにくくなることも無い。
0907デフォルトの名無しさん
2011/11/02(水) 09:06:52.93屁理屈もへったくれもないわw
0908デフォルトの名無しさん
2011/11/02(水) 09:17:01.67じゃあその話が結論付いたら主観だの義務だ言ってる事の答えになるのか?
そうやってすぐ話をそらす所がへそ曲がりだって言ってるんだよ。
レス数が900を超えています。1000を超えると表示できなくなるよ。