【Lua】組み込み系言語総合 その5【Squirrel】 at TECH
[2ch|▼Menu]
[前50を表示]
350:デフォルトの名無しさん
12/03/01 11:59:05.12
C++は見た目以外はCと同じなのに
もっと見せないと意味がないな

351: 忍法帖【Lv=28,xxxPT】
12/03/04 12:54:51.99
lamda

352:デフォルトの名無しさん
12/03/06 13:04:57.00
Why Lua
URLリンク(blog.datamules.com)

353:デフォルトの名無しさん
12/03/10 17:16:40.28
「Squirrelゲームプログラミング」って本がでてるけれど読んだ人いますか?

354:デフォルトの名無しさん
12/03/10 22:07:05.16
amazonで目次と中身少し見れる
ググって足りない部分はexampleとヘッダ少々見れば出てくる程度の事しか書いてない
windowsでsjisでvsのeeでdxライブラリで…溜息が出るような内容
このスレ見てたらまず要らないだろー



355:342
12/03/10 22:10:21.11
ゲーム用の組み込みスクリプトでゲームを作るって発想はどうなんだろうね

356:デフォルトの名無しさん
12/03/10 22:12:15.70
ゲーム用のものでゲームを作るのはそれはあたりまえでは?

357:デフォルトの名無しさん
12/03/10 22:47:24.33
目次を眺めて読みたくなったのは
デバッグへの備え
その他のテクニック
この2ヶ所だけ。
GoogleBooksで該当箇所を読んでみたけど
得るものはなかったっす。

358:デフォルトの名無しさん
12/03/11 08:39:37.93
  効いてる効いてる効いてる   効いてる効いてる     効いてる効いてる効いてる 
           効いてる                                効いてる
        効いてる     効いてる効いてる効いてる            効いてる
      効いてる             効いてる                効いてる
   効いてる 効いてる         効いてる          効いてる 効いてる
  効いてる   効いてる       効いてる           効いてる
 効いてる     効いてる      効いてる             効いてる

  効いてる効いてる効いてる   効いてる効いてる     効いてる効いてる効いてる 
           効いてる                                効いてる
        効いてる     効いてる効いてる効いてる            効いてる
      効いてる             効いてる                効いてる
   効いてる 効いてる         効いてる          効いてる 効いてる
  効いてる   効いてる       効いてる           効いてる
 効いてる     効いてる      効いてる             効いてる



359:デフォルトの名無しさん
12/03/11 12:59:32.81
>>354
それは残念です。買わないことにします…

360:デフォルトの名無しさん
12/03/11 23:32:14.60
しかしLuaはあまりにも情報が少なすぎるな

361:デフォルトの名無しさん
12/03/11 23:38:38.57
Luaはまだ日本語の情報は多いよ。

362:デフォルトの名無しさん
12/03/12 01:01:43.85
>>353
立ち読んだ感じ、初心者なら読んでみるのも悪く内容だとは思ったけどなSquirrel
の本。
スクリプトとC言語側とのデータのやり取りなんかは結構詳しく書いてあったし、リロードについても触れてるっぽいし。
テーブルやクラスのやり取りまで具体的に書いてあるのは、初心者には便利なんじゃない?

まあ、このスレに常駐してるようなベテランには不要なんだろうけどね。

それにしても、Lua以外でスクリプト本なんか出しても売れないだろうによく売る気になったな(笑

363:デフォルトの名無しさん
12/03/12 01:10:28.18
>>361
組み込みスクリプトの中ではね
perlみたいなメジャースクリプトと比べたらもう

364:デフォルトの名無しさん
12/03/12 07:43:15.96
perlをCに組み込むやつなどいないよ

365:デフォルトの名無しさん
12/03/12 21:59:15.97
Luaは、SquirrelやAngelScript、GameMonkeyとかに比べたらものすごく多い日本語資料の量だと思うけどな。


366:デフォルトの名無しさん
12/03/12 22:19:02.56
リファレンスマニュアルが日本語化されてる時点で許容範囲内だよね

367:デフォルトの名無しさん
12/03/13 23:06:55.69
luaはjavascriptに似ているから簡単だと思うか
そもそもjavascriptはjavaに似ていないから難しいと思うかの違い

368:デフォルトの名無しさん
12/03/14 05:40:35.30
Luaは色々なアプリケーションを制御する簡素なスクリプト言語として
プログラミング言語の使用者数の中でもNo1の言語になっておかしくないくらいの
コンセプトを持ってる言語のはずなんだがどこでどう間違ったんだ

369:デフォルトの名無しさん
12/03/14 05:59:38.45
368こそどこでどう間違ったんだ
何が言いたいのか伝わらんぜよ

370:368
12/03/14 06:10:00.66
つまりプログラミングにさほど興味ない人でも
様々なアプリケーションでLuaが使えるなら
TIOBEとかで20位前後をウロウロしてるような言語じゃないのに
実際にはそこまでアプリケーションでも使われていないから
Luaのコンセプトは良さそうに見えるけど文法か何かに欠陥が
あるのかな?ということです

371:デフォルトの名無しさん
12/03/14 06:53:11.70
>>370
>Luaのコンセプト
どんなイメージ?
自分の言葉で語ってみて欲しい
誤解してると思う

372:デフォルトの名無しさん
12/03/14 07:40:48.57
>>370
またおまえか

373:デフォルトの名無しさん
12/03/14 10:55:31.05
なぜか「プログラミングにさほど興味ない人」が登場するのは
母集団をいじれば統計を支配できるというコンセプトなんだよな

374:デフォルトの名無しさん
12/03/14 12:25:10.34
         ,,-―--、
        |:::::::::::::;;;ノ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        |::::::::::( 」 <  実際にはそこまでアプリケーションでも使われていないからLuaのコンセプトは良さそうに見えるけど文法か何かに欠陥がある
        ノノノ ヽ_l   \______________
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬    |


375:368
12/03/14 13:34:24.86
Luaは開発者がC/C++等と組み合わせて使う目的があるのと同様に
上記のようにプログラミングにさほど興味ない人でも様々なアプリケーションで
簡単なスクリプト言語として使うという目的もあるはずなんですよね。

Lua開発者の一人のRobertoも
「Luaには、プロ以外のプログラマにとっても簡単に使えるという
目的がありました。『言語設計者たちが考えること』」
って言っていますし。

376:デフォルトの名無しさん
12/03/14 13:38:00.26
LuaってUnicode使えないんでしょ?

377:デフォルトの名無しさん
12/03/14 14:27:50.73
>>375
目的が二個あるなら言語も二個作ればいいよ
ランキングも二種類でいい
それを一つにしようとすれば、どこかで必ず間違う

378:デフォルトの名無しさん
12/03/14 14:52:12.96
>>375
そもそもスクリプトが必要なアプリが少ないところで
Lua使ってる人少ない→Luaは欠陥言語
という理論まくし立てられてもただのLuaの悪口にしか聞こえないよ。
君の理論で言うとSquirrelやAngelScript、GameMonkeyは
さらに目も当てられないほどの欠陥言語ということになる。

379:デフォルトの名無しさん
12/03/14 17:52:37.91
>>375
「プロ以外のプログラマ」とは「プログラミングにさほど興味ない人」であると
「Lua開発者の一人のRoberto」が言っているのか?

380:デフォルトの名無しさん
12/03/14 17:58:49.77
Luaはユニコード扱えないから、
Windowsのパス名の処理さえ不完全で、
ほんとスタンドアローンのファイル処理などには不向き。

ただ、そのぐらい割り切ったシステムというのは
それはそれで大きな利点なんだけど
そのわりにコミニティが過疎っているのは
世間一般の理解が足りないというべきかな。

381:デフォルトの名無しさん
12/03/14 18:10:19.75
導入しただけで色々できて便利!みたいなものじゃないからでしょ
なんらかの接続部は自分で作らないといけないから誰彼にでも勧めるものじゃないきがする

382:デフォルトの名無しさん
12/03/14 18:15:38.24
begin / end な言語は永遠にメジャー化はムリ。まじでまじで。

383:デフォルトの名無しさん
12/03/14 19:24:09.00
ビギネンド言語ディスってんのか

384:デフォルトの名無しさん
12/03/14 19:38:54.72
インデント構文よりは好きだな

>>380
> Luaはユニコード扱えないから、
utf8などは使えるよ
> Windowsのパス名の処理さえ不完全で、
どんな点だろ?
sjisの事ならパッチを当てて
パス文字列の操作ならpenlightなどを使うことで対処出来ると思う
> ほんとスタンドアローンのファイル処理などには不向き。
そりゃそうだろねぇ

385:デフォルトの名無しさん
12/03/14 19:41:47.31
>>382
まだいたのか?

386:デフォルトの名無しさん
12/03/14 19:48:43.01
>どんな点だろ?

世間では意外とシフトJISの範囲外の文字が使われてる。
「・」にもシフトJIS範囲外のやつがあったりして、
メールで送られてくる添付ファイルなどがそうだったりする。

387:デフォルトの名無しさん
12/03/14 20:39:36.96
ファイル名にSJIS範囲外の文字が使われていたらfopenで開けないってことか
対応自体はさほど難しくないけど
需要ないから誰もやらなそうだね

388:デフォルトの名無しさん
12/03/14 21:47:21.87
そもそも組み込みスクリプト言語でfopenとか使ってファイル処理する必要はあるんだろうか。
その辺はアプリ側に投げるようにした方が楽な気がするけど。


389:デフォルトの名無しさん
12/03/15 03:45:56.16
ビギネンド言語っていうのかw

390:デフォルトの名無しさん
12/03/15 04:26:38.35
>>388
exelとかにVBSのような用途でLua組み込む場合とかならLua側から
ファイル操作したい場合もあるんでないの。

391:デフォルトの名無しさん
12/03/15 04:49:40.33
ないよ

392:デフォルトの名無しさん
12/03/15 10:00:43.97
!=を~=にしたりとか、コロンとセミコロンと2種類のアクセス方法があったりとか
まったく目的も意味もわからない言語仕様盛りだくさんなんだよな
絶対他の言語と違う特徴にしようとかって理由だけでやったんだろうけど
一般化されてる!=くらいそのままでいいだろ

393:デフォルトの名無しさん
12/03/15 11:21:25.25
~=表現については同意するが、コロン、セミコロンを含めて意味不明な機能などなく、ミニマルに纏まって機能提供されていると感じるがな。

394:デフォルトの名無しさん
12/03/15 15:20:40.72
一般的には、レガシーなクラスと匿名クラスの2種類がある
これを1種類にするとJavaScriptかLuaのようになってしまう

395:デフォルトの名無しさん
12/03/15 15:43:00.49
!=も~=もおかしい。社会通念はVBの<>

396:デフォルトの名無しさん
12/03/15 15:44:52.64
==もおかしい。社会通念はPascalの=。










こんなの言い合っても意味ねー

397:デフォルトの名無しさん
12/03/15 15:47:42.77
≠ に似ている =/= にしようぜ

398:デフォルトの名無しさん
12/03/15 15:50:33.01
>>392
またおまえか

399:デフォルトの名無しさん
12/03/15 16:15:32.01
日本語ってまったく目的も意味もわからない言語仕様盛りだくさんなんだよな

400:デフォルトの名無しさん
12/03/15 16:59:37.40
AngelScriptだっけC++に似せてるやつ

401:デフォルトの名無しさん
12/03/15 21:59:25.63
>>390
例えばCSV形式のファイルを読み込む場合、アプリ側からCSVクラスをスクリプトに登録しておいて、

CSV _csv;
_csv.load("〜");

みたいな感じで、読み込みクラスのメソッドを呼び出した方が楽かなと。

402:デフォルトの名無しさん
12/03/16 06:02:39.48
> CSV _csv;
> _csv.load("〜");
構文からしてLuaではなくC++だよね?

class CSV {
public:
T load(T) {...}
};
というクラスをLuaに公開しつつ
C++側で
CSV _csv;
_csv.load("〜");
とするの?
loadの実装が気になるw

403:デフォルトの名無しさん
12/03/16 07:45:38.72
いてもたっても居られずsquirrelを作った作者の気持ちが痛いほど分かる

404:デフォルトの名無しさん
12/03/16 07:56:37.57
そう思うなら布教なりお布施なりしろよ。
このままじゃ死滅するだろ

405:デフォルトの名無しさん
12/03/16 08:06:43.56
分かるからってsquirrelがいいとも思わないからな
一番いいのは周知の既存言語の組み込み版だよな
JavaとかC#とかの基本構文を真似たものが欲しいな

406:デフォルトの名無しさん
12/03/16 09:22:57.41
プログラマ目線の組み込み型なら別にスクリプトである必要なしともなりかねないからね
ユーザ目線ならLuaがちょうどいい

407:デフォルトの名無しさん
12/03/16 12:25:36.97
DllImportは欲しいな
DllImportは基本構文の中でも最強・・・

408:デフォルトの名無しさん
12/03/16 12:50:18.34
ぐぐる先生の dart はどうなん?

409:デフォルトの名無しさん
12/03/16 21:23:45.12
>>402
文法はとりあえずC++で書いた。
なので、スクリプト側で、

CSV _csv; 
_csv.load("〜"); 

を実行する。

410:デフォルトの名無しさん
12/03/16 21:58:20.31
>>407
LuaJITのFFIでもどうぞ

411:デフォルトの名無しさん
12/03/17 10:25:31.08
LuaJITのSJIS対応版ってあるんですか?

412:デフォルトの名無しさん
12/03/17 10:42:23.77
LuaJITだろうがsjisソースコード中の文字リテラルに対応するだけなら
lex.cに5行くらい追加で終わるでしょ

413:デフォルトの名無しさん
12/03/17 12:51:48.66
具体的に何をSJIS対応にしたいの?

414:デフォルトの名無しさん
12/03/17 13:28:30.33
いいこと思いついた
すべての半角文字をエスケープすればすべての文字が16ビットになる

415:デフォルトの名無しさん
12/03/19 21:47:34.23
>>414
プリプロセッサの出番か。

416:デフォルトの名無しさん
12/03/25 04:12:57.66
Luaの様々なバインダを見て標準でバインダ付いてるAngelScriptは偉いと思った(小学生並みの感想)
しかし今から実装しようと思うならLuaかねぇ。バインダみんな何使ってる?それとも自作とかか
tolua++の最終更新が2009でtoluaの最終更新が2012に見えるんだがググるとtolua++の情報が多いな

417:デフォルトの名無しさん
12/03/25 06:08:48.71
luabind,SWIG,バインダなしのどれかだな
toluaは中途半端で好きじゃない

418:デフォルトの名無しさん
12/03/25 09:44:33.41
慣れるとバインダなしが一番になるよ

419:デフォルトの名無しさん
12/03/25 09:58:28.60
Luaには型もないし継承もないからバインダもいらない

420:デフォルトの名無しさん
12/03/25 10:57:26.17
型を強くすると、未知の言語に対応できなくなるデメリットがある

421:デフォルトの名無しさん
12/03/25 11:03:45.62
アセンブラと同じでスタック(PUSH&POP)で何でもできる

422:デフォルトの名無しさん
12/03/25 15:46:34.44
>>420
どゆこと?
具体的な説明頼む。

423:416
12/03/25 19:00:03.00
おーバインダなしかー。仕組み知るためにもとりあえず無しでいってみるか。ありがとう。

424:デフォルトの名無しさん
12/03/25 22:39:14.34
関数定義があいまいなせいでコンパイルエラーがほとんど出ないで実行時に例外落ちする悲惨さ

425:デフォルトの名無しさん
12/03/25 22:50:34.67
>>422
例えば、未知の言語で、継承ができなくなるリスクは大きい
委譲できなくなるリスクは小さい
リスクを小さくするには、(抽象的だが)「型」を避ければいいと思う

426:デフォルトの名無しさん
12/03/26 07:11:24.11
>>425
具体例出せない?
現実的に、静的タイピングで継承有りな言語もSWIGはサポートしてるし
boostライクなテンプレートに落とし込めない理由が浮かばないんだけど。

427:デフォルトの名無しさん
12/03/27 01:18:37.69
>>426
できない人の気持ちが浮かばないということは、その人をサポートできてない
サポートは諦めて単純に自力でやる方法をすすめるのが無難

428:デフォルトの名無しさん
12/03/27 07:44:08.12
テンプレートの何がいいのかわからないな
難読化させるためにやってるのか

429:デフォルトの名無しさん
12/03/27 10:54:33.44
具体的に頼む。
禅問答じゃないんだし。

430:デフォルトの名無しさん
12/03/27 11:00:10.02
型を強くすると、未知の言語に対応できなくなるデメリットがある
俺はそう考える。

テンプレートの何がいいのかわからないな
難読化させるためにやってるのか
俺はそう考える。

431:デフォルトの名無しさん
12/03/27 12:36:06.80
コメントの類はコードをかえって難読化することもある。
コメントは具体的なコードではないので禅問答に近い。
クラスとテンプレートはコメントではないがコメントに近いので難読化することもある。

432:デフォルトの名無しさん
12/03/28 00:20:33.61
人間とウェブの未来 - Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?) URLリンク(t.co)

433:営利利用に関するLR審議中@詳細は自治スレへ
12/04/05 13:46:26.69
スクリプト言語“Lua”の統合開発環境「Lua Development Tools」
URLリンク(www.forest.impress.co.jp)

434:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 03:26:00.93
なんでOpenOfficeでPythonマクロがあってLuaが無いんだろう
ああいうものこそLuaの真骨頂じゃないのかね

435:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 03:35:19.84
足せばいいんじゃ

436:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 07:39:38.00
pythonはコンパイル型だから早い

437:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 15:26:04.64
LuaJITに実行速度負けてるけどな

438:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 15:28:48.50
>>436
何が言いたいのかよく分からんので
ちょろっと検証してみた

-- lua code
t={1,2,3,...,100000}
# python code
t=[1,2,3,...,100000]

$ time lua l514.lua
real 0m0.049s
$ time lua l514.luac
real 0m0.022s
$ time python2.6 p26.py
real 0m0.339s
$ time python2.6 p26.pyc
real 0m0.036s
$ time python3.1 p31.py
real 0m0.371s
$ time python3.1 p31.pyc
real 0m0.047s
$ time src/luajit lj2.lua
real 0m0.019s
$ time src/luajit lj2.luac
real 0m0.008s

結論としては
pythonが速いというよりも、当社比としてpyよりpycという苦肉の策じゃないかな。

ちなみに、Luaのrequireでも
LUA_PATHやpackage.pathに*.luacを追加すれば普通に読めるよ

439:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 18:26:17.52
そんな問題じゃねー
OpenOfficeとの膨大な連携関数軍を言語サイドに公開するコストが
Physonの方が圧倒的に小さい

440:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 20:06:11.54
>>439
ちょっと理解できない
そもそもpythonのJava実装でそんなのあったっけ?
Javaは他言語含めてどれもいまいちな印象しかないのだが。

441:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 23:28:09.86
Office関連はうといのでパッと見の感想だが、Luaほどの速度は必要なくライブラリ豊富なPythonを取ったということかな
上の見る限りpycなら十分だろう
てかLibreOfficeもPython使ってるのかな。しっかり見てないが

442:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 07:57:14.44
Luaの真の力を知ればそのうち神が対応してくれるだろ

443:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:11:24.50
Jython

444:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 01:57:24.30
LuaよりPythonの方が記述しやすくない?

445:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 12:28:01.14
今の議論には関係ないんだけど、Pythonインタプリタのインスタンスって
1つしか持てないの?
LuaとかはCからインタプリタ内部にアクセス出来るけど、PythonはPythonで
記述できる内容をCでも記述できるという感じに見える。これも合ってる?

446:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 14:08:52.77
>>441
OOo Basic,Python,Java,JavaScript
知名度で選んだだけじゃね?
組み込みコストは似たりよったりだろうし。

447:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 14:10:47.03
>>445
だね
日本語で

448:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 14:34:51.26
>>445
前者はその通り。今の python は multi vm は配慮されてない

後者はちょと意味がとりにくいけど、Cアプリへの python インタプリタ組み込みは可能で、
C側からコードを読み込ませたり値を入れ込んだりはできる。ただ cpython はCの
コールスタックに依存する構造で、一度よんだら python 側の処理がおわるまで帰ってこない

Cのコールスタックに依存せず、途中で止めたりするような制御が必要なら、
stackless python か PyPy という実装なら、コルーチン機構があるので、
疑似的にインスタンスを複数もってるのと同じようなことができる
ゲームの類にうめこまれてるのはたいてい素の python でなくて stackless python です

449:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 20:29:03.12
>>447, 448
回答ありがとう。
後段の件は自分の中でも整理できてないな。手間を取らせて申し訳無い。

具体的な用途は決まって無くて何が出来るか調べていたので、
感覚的な話になってしまいました。Tclは使ったことがあって、
LuaはTclと似た感じで使えるけど、Pythonはどうも毛色が違うなあと
感じていました。

450:デフォルトの名無しさん
12/04/16 01:22:26.86
Luaの文法がCと違うのは混乱しないために良いのかもしれないけど
どうせならifとかforとかCの予約語とも重複しないで欲しかったな

451:デフォルトの名無しさん
12/04/16 01:47:42.83
配列が1から始まることを忘れちゃってつい0番に値を入れちゃう
動くから気づかないし

452:デフォルトの名無しさん
12/04/16 07:47:23.79
欲しいなら
作るとよいよ
オナニー言語

453:デフォルトの名無しさん
12/04/17 22:37:42.93
0番に入れるのは間違いとは限らないし
-1から始まる可能性も忘れてはいけない

local i = -1
local t = {[0] = "zeroth", "first", "second"}
local function f() i = i+1; return t[i] end
for x in f do print(x) end

454:デフォルトの名無しさん
12/04/18 18:18:02.76
ぅあTシャツ
URLリンク(www.fibers.com)

455:デフォルトの名無しさん
12/04/18 22:43:48.98
冗談かと思ったらあるのかよw
しかも種類が多いな

456:デフォルトの名無しさん
12/04/19 18:52:30.20
これの収益がメンテナーに還元されるんだっけ?

457:デフォルトの名無しさん
12/04/20 00:41:59.02
>>454
欲しいけど、英語がわからないのと申し込む方法がわからないんだけど

458:デフォルトの名無しさん
12/04/20 00:57:10.25
just choose then buy then checkout then confirm then wait then wear

459:デフォルトの名無しさん
12/04/20 08:16:19.57
if/forの代替になるキーワードって何があるのさ
俺は全く思いつかん
こいつらはCの予約語どうのって以前に殆どの言語で共通のキーワードなんだから
変えたら混乱以前に誰も使う気しなくなるだろ

460:デフォルトの名無しさん
12/04/20 08:36:24.47
英語が分からんから記号的にしか捉えられないのだろう。
すなわち if 〜 then でなく if () { のがいいというC脳の発想。そこにユーザーへの愛はない。

461:デフォルトの名無しさん
12/04/20 23:56:05.31
 Windowsアプリにtolua++を使ってLuaを組み込んで、スクリプト動作をさせようと目論んでいます。
コンソールアプリに組み込む事は成功したのですが、ダイアログアプリからスクリプトを呼び出し、
スクリプトからCの関数を呼び出すところで上手くいかずに悩んでいます。

処理としては単純に指定の文字列のメッセージボックスを表示させるもので、
void MessageBox(LPCTSTR lpszMessage){
 ::MessageBox(NULL, lpszMessage, NULL, 0);
}
こういう関数を用意してLua側から呼び出す、というものです。
 グルーコードの作成、ビルド等は上手くいくのですが、「MessageBox("あいうえお")」のように
スクリプトを書いたところ、
error : test.lua:5: error in function 'MessageBox'.
argument #1 is 'string'; 'LPCTSTR' expected.
と言うエラーがデバッグウインドウに表示されると言う状態になっています。
「LPCTSTR」を「char *」におきかえて、関数内でUNICODE変換すると上手くいくのは分かったのですが、
このやり方が正しいのか自信がありません。

このような状態について、どのように対処すればよいのでしょうか?


462:デフォルトの名無しさん
12/04/21 01:27:33.69
>>460
英語でif〜thenなんて文法は存在しない


463:デフォルトの名無しさん
12/04/21 08:53:28.79
>>462
そんなこと誰も問題にしてないぞ。どうした?

464:デフォルトの名無しさん
12/04/21 09:07:45.32
>>461
他のOSに移植すると自信を持てる
けどMessageBoxを直接呼び出すようなグルーコードは使わない。
巨大なフレームワークと直結するようなグルーコードを使うと自信がなくなる。

465:デフォルトの名無しさん
12/04/21 10:34:22.31
>>462
FORTRANの創始者ジョン・バッカスをバカにしてんのか?

466:デフォルトの名無しさん
12/04/21 10:42:31.67
if と then はそれぞれ独立して使うもので同時に使うことは英語の文法上ないんだよ
if 〜 then なんて用法はプログラム的文法にすぎない
日本語に例えてみると
「もし」「じゃあ」みたいなもんだ
「もし」フラグが立ったら「じゃあ」実行しよう
ほらおかしいだろ?

467:デフォルトの名無しさん
12/04/21 11:51:40.64
>>466
If you want a friend then get out of here

468:デフォルトの名無しさん
12/04/21 12:06:23.90
「If you don't think you can do it, then you can't.」とか普通にあるな。



469:デフォルトの名無しさん
12/04/21 13:54:06.23
>>466
英語わかんないのに何でこんなに自信たっぷりなの?

470:デフォルトの名無しさん
12/04/21 13:59:33.76
>>467
ないない
通じない

>>468
ないない
通じない

受験英語覚えて英語覚えた気になってる馬鹿だな

471:デフォルトの名無しさん
12/04/21 15:05:32.33
英語の文法で正しいかどうかなんて関係ない
他のプログラミング言語で事実if 〜 then ... という文法が
広く採用されているってのがポイント
分岐はプログラムの論理構造の根幹なんだから
そこにオリジナリティを持つだけ無駄だろ

お前が英語に詳しいのはわかったから
それを正しい方向へ生かす努力をしろ

472:デフォルトの名無しさん
12/04/21 16:06:21.59
>>466
どこがおかしいかまったくわからんのだが。
曲解して無理やりおかしくしてるだけでは。
「それぞれ独立して使うもの」ではあるが「同時に使ってはならないもの」ではないのだろう?
そもそも「Luaは英語文法に沿って設計されてます」なんて誰も言ってないぜ?
仮に文法どおりの究極的な言語できたとしても遅くて実用に耐えないだろうよ


473:デフォルトの名無しさん
12/04/21 16:21:32.31
then よりもまず for が英語的には意味不明だな

もともとは while / until / repeat などのキーワードを含む、ALGOL の繰り返し文の
パラメータ指定用のキーワードだったんだけど、後の言語では繰り返しを意味する
単語は姿を消して for だけが回数指定繰り返しのキーワードとして残り、
最終的には foreach というさらに謎の単語が派生して今に至る


474:デフォルトの名無しさん
12/04/21 17:57:16.34
もし A=0 そのとき 書け("0になりました") そのほか 書け("まだです")

何にもおかしくないじゃん

475:デフォルトの名無しさん
12/04/21 18:01:18.89
スクリプト言語“Lua”で拡張可能。Unixライクなコマンドラインシェル「NYAOS」
URLリンク(www.forest.impress.co.jp)

476:デフォルトの名無しさん
12/04/22 08:05:42.46
すごいなーこれも受験英語なのかー
If a city has a 30% Negro population, then it is logical to assume
that Negroes should have at least 30% of the jobs in any particular
company, and jobs in all categories rather than only in menial areas.
(Martin Luther King, Jr.)

問題にするなら else のほうだろうに。






477:デフォルトの名無しさん
12/04/22 09:49:18.16
そもそも言語に正しいも糞もないからな。
国が何が正しいかを決めてるわけでもなく、
自称言語学者が自説を述べてるだけだから。

478:デフォルトの名無しさん
12/04/22 10:16:13.66
みんなが欲しがっているのは正しい言語じゃなくて小さい言語
正しさの定義が何であろうと、正しくない部分を切り捨てて小さくなりさえすればいい
逆に大きくしたいなら、正しいも何も関係なくすべて取り入れるはず

479:デフォルトの名無しさん
12/04/22 11:37:01.20
言語など相手に通じさえすればいい。
翻って、どんなクソ文法でもコンパイラ様が言葉認定してくれればオールオッケーなのだ。

480:デフォルトの名無しさん
12/04/22 12:47:57.48
おや、Xtalが息を吹き返したようだ

481:デフォルトの名無しさん
12/04/22 13:00:47.53
>>461
void MessageBox(const char* lpszMessage){
 ::MessageBoxA(NULL, lpszMessage, NULL, 0);
}
とか?
(未テスト)

ダイアログボックスつかってるなら、それのウィンドウハンドルをどここかに保存しといて、
MessageBoxに渡した方がいいんではないか?

482:デフォルトの名無しさん
12/04/22 13:02:41.85
>>476
あほだな
それは
If a city has a 30% Negro population, then it is logical to assume
が1つの文章じゃなくて
○○ If a city has a 30% Negro population,
then it is logical to assume
で分離してるんだよな
それにそれちょっと変な言い回しだな
演説用の思わせぶりな言い方ッて感じ
決して日常会話では使わない


483:デフォルトの名無しさん
12/04/22 14:40:02.68
その日常会話自体がどんどん変化するからね。
おっさんが若者言葉を知らないだけという可能性も高い

484:デフォルトの名無しさん
12/04/22 15:02:23.22
>>482
> で分離してるんだよな
してない。

> それにそれちょっと変な言い回しだな
> 演説用の思わせぶりな言い方ッて感じ
そうですねー(あなたの中では)
> 決して日常会話では使わない
そうですねー(あなたの日常では)

485:デフォルトの名無しさん
12/04/22 15:10:16.31
普通日常会話ではthenは文末に使うもんだからね
特に若者会話ではw
if ** then go
じゃなく
if you say **, go then
って感じ


486:デフォルトの名無しさん
12/04/22 16:29:02.33
まあ2chの自称言語学者とFORTRAN設計者のアメリカ人の
どちらを信用するかというだけのハナシだわな

487:デフォルトの名無しさん
12/04/22 20:42:38.80
>特に若者会話では

てことは、日本の若者会話を慮るに
英語の文法上正しくない根拠にはならないわけだね

488:デフォルトの名無しさん
12/04/22 20:57:12.28
末尾に草を生やした時点でお前の負け
読む価値が無い

489:デフォルトの名無しさん
12/04/22 21:21:58.46
英語でif〜thenなんて文法は存在しない

使われない

日常会話では使われない

若者の日常会話では使われない ← いまここ

俺は使わない

490:デフォルトの名無しさん
12/04/22 21:34:14.74
>>489
最初の使われないから何もかわってないよ
if〜thenという形の熟語は存在しない
if, thenで分離してるのが普通
その証拠としてthenは文末にくるのが一般的だと言ってる
何故なら独立した2つの分だからthenの位置はifに依存しない

491:デフォルトの名無しさん
12/04/22 21:53:18.94
プログラミング言語の if then を熟語だって誰か言ったの? else のこと考えてもあきらかに分離してるわけで問題ないじゃん

492:デフォルトの名無しさん
12/04/22 22:47:34.55
>>490
結局、何が不満なの?

英語と文法が違うから?
それとも"if","then"という単語のチョイス?

493:デフォルトの名無しさん
12/04/23 07:36:46.13
if 〜 then 〜 else はもはや世界の共通語。
英語の文法がどうとかそういう問題ではない。
英語の文法君は明らかに外してる

494:デフォルトの名無しさん
12/04/23 17:28:22.89
ifがいやならsnobol使えばいんじゃね?

495:デフォルトの名無しさん
12/04/24 00:54:50.87
なんかのスクリプトにeven if構文ってあったよね

496:デフォルトの名無しさん
12/04/24 01:10:56.17
Nyarukoで手を打とう
URLリンク(github.com)

497:デフォルトの名無しさん
12/04/24 01:44:46.01
ステマに踊らされてるのか

498:デフォルトの名無しさん
12/04/24 07:45:40.60
>>496がBrain*uckで実用プログラムを作ると聞いて飛んできました

499:デフォルトの名無しさん
12/04/24 12:35:25.55
>>496
長くなってくるとSAN値がごりごり削れていくぞ

500:デフォルトの名無しさん
12/04/28 17:44:23.10
VSと連携できるluaデバッガ教えてくだしあ

501:デフォルトの名無しさん
12/05/01 12:36:24.08
IntelliJ

502:デフォルトの名無しさん
12/05/01 21:24:17.07
AngelScript2.23.1記念カキコ

503:デフォルトの名無しさん
12/05/02 14:34:23.92
プログラミング言語と英語を直接結びつけるのは違和感ありまくり
プログラミング言語は英語圏の人間が全員理解できるわけでもない無理矢理英語っぽくしてあるだけのシロモノなのに
なんで日本人が必死こいて英語じゃああだこうだ言って勝手に盛り上がってんの
AppleScriptでも使ってろばかー

504:デフォルトの名無しさん
12/05/03 00:02:36.73
こぼる

505:デフォルトの名無しさん
12/05/03 00:23:55.87
ひまわり

506:デフォルトの名無しさん
12/05/03 12:42:41.53
特定の文化圏に依存する文字を使ってるからそんな議論が生じる

ほわいとすぺーす

507:デフォルトの名無しさん
12/05/03 14:23:53.25
そういえば、外来語としてそのまま使える名詞とか動詞は文化圏に依存しないね
形容詞は微妙
それ以外は駄目っぽい

508:デフォルトの名無しさん
12/05/05 01:18:19.17
ちょっと見逃してたが

軽量rubyソースコード公開
URLリンク(el.jibun.atmarkit.co.jp)

509:デフォルトの名無しさん
12/05/05 02:35:48.44
公開時点だと組み込みに適したような口が全然はえてなかったけど、その後なんか追加実装されたりしてる? > mruby
fopen とかしょんぼりだぜ

510:デフォルトの名無しさん
12/05/05 11:18:17.94
とりあえず日本語

511:デフォルトの名無しさん
12/05/06 19:13:56.84
LLでの静的型チェックの論理的基礎が充実してきて、実装するのが流行りそう
URLリンク(cseweb.ucsd.edu)
system d :: nested refinement types
- dependent types for dynamic language
- dependent javascript
URLリンク(github.com)
typed clojure
- Final Draft Project Proposal
- Early Draft Literary Review
言語によっては、scalaの型推論あたりに近づけるのかな?

512:デフォルトの名無しさん
12/05/08 23:19:09.56
それなら静的型付言語に何でも入る型用意すればいいんじゃね?


513:デフォルトの名無しさん
12/05/09 05:22:08.31
それってどこのバリアント型

514:デフォルトの名無しさん
12/05/09 07:57:21.81
そんな言語ではチェックできないから書き直せという話ばかりで
チェックできたって話は聞いたことがない

515:デフォルトの名無しさん
12/05/09 10:37:25.50
コマンドラインシェル「NYAOS」が内蔵“Lua”言語でCOMオブジェクトを制御可能に
URLリンク(www.forest.impress.co.jp)

516:デフォルトの名無しさん
12/05/12 03:29:37.84
LuaJIT 2.0.0-beta10 has been released

517:デフォルトの名無しさん
12/05/13 13:43:35.87
#include <iostream>
#include <lua.hpp>
using namespace System;
int main(array<System::String ^> ^args)
{
double z;
int ret;
for(int aa = 0; aa < 1000000; ++aa){
lua_State *L = luaL_newstate();
L = lua_open();
luaL_openlibs(L); // これで以下の個別のライブラリを一度に使えるようにする
ret = luaL_dofile(L, "add.lua"); // Lua scipt 読み込む
if(ret != 0){
printf("Failed");//読み込み失敗
return -1;
}
lua_pushstring(L, "add");
lua_gettable(L, LUA_GLOBALSINDEX);
lua_pushnumber(L, 100); // 引数数値"100"をスタックに
lua_pushnumber(L, 5); // 引数数値"5"をスタックに
lua_call(L, 2, 1);
z = lua_tonumber(L, -1) ;
printf("%d-%f\n", aa, z);
lua_close(L);
}
return 0;
}

//add.lua
function add(a, b)
return a+b
end

518:デフォルトの名無しさん
12/05/13 13:44:00.64

↑動かすとどんどんメモリー増えていく
どこ修正すれば解消される?

(lua5.1使用)

519:デフォルトの名無しさん
12/05/13 13:45:18.32
まさかのc++cli

520:デフォルトの名無しさん
12/05/13 13:48:18.68
> lua_State *L = luaL_newstate();
> L = lua_open();

ここだね、かぶってる。消し忘れ?

521:デフォルトの名無しさん
12/05/13 13:52:33.50
c++cliです

//L = lua_open();

で、増えなくなった

ありがとう

522:デフォルトの名無しさん
12/05/17 11:13:05.10
WindowsでLuaの勉強をはじめたんですが
Shift_JIS対応版Luaを使ったほうがいいのでしょうか?
スクリプトファイルはUTF-8で保存してcygwinのターミナルで実行すれば日本語も表示できるし
SJISでファイルを保存すればコマンドプロンプトでも日本語は表示できるので不便を感じません
いまいちよくわかってないのですがShift_JIS対応版を使うメリットはなんでしょうか?

523:デフォルトの名無しさん
12/05/17 11:19:04.86
>>522
Shift_JIS でスクリプトを持ちたければ、これの回避が要るんじゃないの?
Wikipedia項目リンク

524:デフォルトの名無しさん
12/05/17 15:07:11.90
>>523
イーモバイル使ってませんか?

525:デフォルトの名無しさん
12/05/17 21:54:06.89
文字列に「ソ」とか入ってると文字列がおかしくなっちゃうんじゃないの?

526:デフォルトの名無しさん
12/05/17 22:45:02.36
カギ括弧でくくればエスケープされないから、大丈夫じゃない?

> a = "ソ表";
stdin:1: unfinished string near '"・;'

> a = [[ソ表]];
> print( a );
ソ表


527:デフォルトの名無しさん
12/05/17 22:48:23.90
もしsjisをやめてもWindowsは "C:\" だけでおかしくなる
だからsjisをやめるメリットが少ない

528:デフォルトの名無しさん
12/05/17 23:07:35.04
mrubyがでてきたから、今後はもうluaはジリ貧だな

529:デフォルトの名無しさん
12/05/17 23:08:12.11
他人が打ち込んだ文字列を取り入れる可能性ないならSJIS無視してOK

530:デフォルトの名無しさん
12/05/17 23:35:17.32
mrubyの「組み込みシステム」ってそういう意味じゃないんじゃないの?

531:デフォルトの名無しさん
12/05/17 23:42:05.67
すまん、勘違いだった

532:デフォルトの名無しさん
12/05/18 00:14:16.28
とりあえずウォッチしてるけどLuaの影響がだいぶでかい感があるな
まだまだ開発中だけどやっぱりRubyで書けるようになるのは嬉しい

533:デフォルトの名無しさん
12/05/18 01:13:09.15
>>527
それ Windows は、じゃなくて、C言語的に普通にえらーだべ

534:デフォルトの名無しさん
12/05/18 10:00:13.72
>>526
Win環境でなくて申し訳ないけど

> s="ソ\r表"
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 13 232 161 168
> print(s)

> s=[[ソ^M表]]
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 10 232 161 168
> print(s)



別の問題が出て来る気がする

535:デフォルトの名無しさん
12/05/19 02:58:32.03
mrubyのミドルウェアへの組み込みは思いつかなかったな

536:デフォルトの名無しさん
12/05/19 15:20:02.78
単体で使うならrubyの方がいいけど
組み込み処理系がLuaほどいじりやすいかどうか。
MatzがやってるならC++でのコンパイルも通らないだろうし orz

537:デフォルトの名無しさん
12/05/20 21:47:23.56
>>534

どんな問題?



最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4952日前に更新/120 KB
担当:undef