[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 10/12 20:25 / Filesize : 241 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lua】組み込み系言語総合【Squirrel】



1 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:02:21 ]
LuaやSquirrelなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
wikiwiki.jp/lua/

その他の参考URLは>2から

■過去スレ
その3 pc11.2ch.net/test/read.cgi/tech/1160799232/ (前スレ)
その2 pc8.2ch.net/test/read.cgi/tech/1063711237/
その1 pc5.2ch.net/tech/kako/1034/10341/1034182349.html

561 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:22:41 ]
その通りのことにそのAA使ってもな

562 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:37:35 ]
残念ながら経験10年のおそらく天才プログラマーが作ったJavaScriptが
学生が演習で作ったCのサブセット以下の速度なのよ

563 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:49:05 ]
>>562
CとJavaScriptで速度差が出るとしたらプロパティアクセス時の
ハッシュ計算だと思うんだけど、その差はJITすれば消せる。
JavaScriptはV8で比較した?

564 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:26:05 ]
そんなんで消せたら
誰も苦労しないだろw

565 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 02:18:11 ]
しかし、SquirrelにもLuaみたいなスクリプトのライブラリを置くリポジトリサイトが欲しいよな。
ネタは色々あるんだが。

566 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 03:17:30 ]
>>562
ベンチマークに使ったコードは、どんな内容だったのでしょうか?
興味があります。

567 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 03:21:07 ]
>>559
squirrel でも普通コルーチン。マニュアルの表記は「協調スレッド(コルーチン)」

「マイクロスレッド」だと、システムよりの機能を使ってるような誤解を招くから、
間違いじゃないけどふさわしくないと思う

568 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 04:38:29 ]
lucille.atso-net.jp/aobench/
誰かこれやってみて

569 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 08:52:18 ]
機械語に近い言語体系じゃないと、C並に早くならんだろうな



570 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 08:59:47 ]
559はJITが機械語を生成すると思ってんのかな?

571 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 11:14:15 ]
C++より速くできるって…夢でも見てたんだろうね

572 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:05:33 ]
          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    <その通りのことにそのAA使ってもな
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー?、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ   <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)   
| / / /     |r┬-|    | (⌒)/ / / //       
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/      
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー’´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一””””~~``’ー?、   -一”””’ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


573 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:09:18 ]
559はバイトコードと機械語を同じだと思っている、に一票。

574 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:38:25 ]
>>570に聞きたい。
じゃあ何を吐くんだ?

575 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:43:00 ]
>>564
V8では新たなプロパティが追加されるたびに
プロパティに対して定数時間でアクセスできるような
アセンブラコードが生成されるよ。
だからV8は速い。

576 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:45:06 ]
>>573
突然そんなことを言われても意味がわからない。
その根拠はいったい何さ?

577 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:32:58 ]
>>567
昔StacklessPythonの記事で、言語仕様上で実装したマイクロスレッドとOS側で実装されるネイティブスレッドの
使い勝手の違いの話があって、それで覚えてしまっていた。
確かにこの場合はコルーチンと呼ぶべきだね。勉強になった。

各種言語処理系の仮想マシンが一種の機械語をサポートする場合、
その機械語、もしくはソースコードからコンパイルして作られた(仮想マシン用の)機械語を一般的にバイトコードと呼ぶ。
これに変換してから実行する形態をバイトコード処理系、もしくはバイトコードインタプリタと呼ぶ。
一方、CPUが直接実行する機械語を生成するのがJITコンパイラだ。

ただし欧米人でもたまに間違えてたりするので記事読む時に注意がいる……。

578 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:58:00 ]
          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    <一方、CPUが直接実行する機械語を生成するのがJITコンパイラだ。
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー?、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ   <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)   
| / / /     |r┬-|    | (⌒)/ / / //       
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/      
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー’´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一””””~~``’ー?、   -一”””’ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


579 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:02:17 ]
で、人月をかければJITがC++に勝てるの?



580 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:04:19 ]
単に比較したって意味がないだろう

581 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:13:24 ]
C++も負けないようにJITにするんだ!

582 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:13:52 ]
茶化してるだけの人とマジな人と、マジにわかってない人と、いろいろいるな

583 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:17:30 ]
>581
LLVMとか

584 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:12:36 ]
>>575
プロパティに定数時間でアクセス出来るのと
JIT使っているっていうのは関係ないだろ

585 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:41:53 ]
JIT使ってもC/C++より早くなるわけねぇじゃん
現代のCコンパイラがどれぐらいの労力をかけて最適化コード吐くのか考えてみたことある?

586 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:49:38 ]
C++より速くなる病患者が
Javascriptにまでw

587 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:52:39 ]
コーディングにかかる時間は考慮しないんだな

588 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:53:08 ]
結局JITは怖くて使わないです。えぇハイ

589 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:54:00 ]
>>584
JavaScriptだとプロパティの追加や削除を実行時に
しなきゃならんことがある。
なので、普通はそれをプロパティに対するハッシュで実装するわけだけれど、
Googleはプロパティの変化ごとにJITコンパイルする道を選んだ。

V8 JavaScript Engine
code.google.com/apis/v8/design.html

> JavaScript is a dynamic programming language: properties can be added to, and deleted from,
> objects on the fly. This means an object's properties are likely to change.

> V8 compiles JavaScript source code directly into machine code when it is first executed.
> There are no intermediate byte codes, no interpreter. Property access is handled by inline cache
> code that may be patched with other machine instructions as V8 executes.



590 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:57:25 ]
機械語を生成できたところで、コンパイラの性能差が大きすぎるでしょ

591 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:19:21 ]
プロパティの変化ごとにJITコンパイルするとか
意味不明

592 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:37:03 ]
現代のCコンパイラがgccの事であるなら
労力だけかけても間違った結果しか出てこないもんなんだなー とは考えてみた事がある
主にループ抜けなくなるとか

593 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:45:52 ]
gccについては、あの…その……うんゴメン

594 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:48:15 ]
>主にループ抜けなくなるとか

wwwww

595 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:50:37 ]
Squirrelを使おうとしているんだが、
バインダ(SqPlus)の更新が半年前から止まっていて、使おうかどうか躊躇してる。
みんなはバインダに頼らず直接実装した?

596 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:57:43 ]
優れたJIT技術者がいるとして
そいつが何の仕事を選ぶかだな

597 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:01:23 ]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ



598 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:19:26 ]
散々JITについて盛り上がっておいて、ここまでLuaJITに言及なし

599 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:30:57 ]
JIT使ったことねぇからわからねぇ が大半だと思います



600 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:12:32 ]
>>595
俺はjkBindに乗り換えようかと考えている。
既に作者とは連絡を取った。
Squirrel-2.2.2-stable向けのパッチがフォーラムにあがってる。

601 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:22:04 ]
jkBindについてkwsk

602 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:31:40 ]
>>600
ありがとう。jkBindも選択肢としてありなのか。なるほど。
ちょっと調べてみますね

603 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:44:37 ]
結局Luaなんて誰も使ってなくて
へんなクマが冷やかしに来るスレ?

604 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:31:10 ]
バリバリLua使ってるような人が中々来ないスレ
現在は使ってないけど「今後使ってみようかな」とか興味ある人が情報収集しにくるスレ
あとはクマスレ

605 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:35:26 ]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  Lua まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

606 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:01:53 ]
//
/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ AngelScript!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ


607 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:38:30 ]
ほっそいなAngelwwwww

Luaは使ってないけどXtalはバリバリ使ってるよ!

608 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:40:39 ]
AngelScriptをメインで使ってるのは俺だけですかそうですか。

609 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:16:03 ]
AngelScriptは不遇だよね〜
もうちょっとがんばれば2強に肩を並べるぐらいになってたかもしれないのに



610 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:41:28 ]
JITコンパイラが付いてC++並の速度で動くようになれば
AngelScriptも流行るよ

611 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:15:47 ]
なんかJITが好きな奴がいるけど、ゲームとかに組み込んで使用する
用途での言語処理系でJITなんて危なくて使えないだろw

612 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:38:34 ]
JIT の実装が進んでるシステムは、事前コンパイルできる場合があるので、
開発中は作業効率がいい動的スクリプト言語として使って、完成したら
コンパイルしてネイティブコード化するという方法もある。

613 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 06:44:51 ]
Pascalでいいやん

614 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 06:57:19 ]
CriScriptはベンチを見る限り割と良さそうなんだがなぜか話題にも上がらない

615 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 09:24:13 ]
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   


616 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 09:24:39 ]
先月の IGDA の奴を聴きにいって以来、オレの中で CriScript 株は急上昇中。


617 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:33:51 ]
実際使ってみたなら感想よろ

618 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:47:00 ]
スクリプトって多々あるけど、
今後の展望を含め、どれか一派に絞らなけりゃならないのは賭けだよね
・言語仕様
・ライセンス
・動作環境
・速度
・メモリ量やGC問題
・安定性
・将来性
・国内外でのコミュニティの活性度
など複雑な素因が絡んでくるもんね。
自分はSquirrelを選んだが、将来残っているか不安っちゃ不安だわ。
磐石なスクリプトが存在するか、せめて機械的なコード置換があればいいんだがなぁ。

619 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:05:29 ]
コミュニティや作者のサポートが必要とはあまり思わないな
ソースコードが何百万行もあるソフトとは違う



620 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:30:48 ]
問題ってのは起ってほしくないときに起るもんだ
そのときに同じように余裕ぶっこいていられるかな?


621 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:35:30 ]
バグが見つかったら、自分の書いたソースだろうが利用しているオープンソースだろうが自力で直す。
直す手段が用意されているところがオープンソースの処理系のいいところじゃないか。

622 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:50:11 ]
お金とってサポートしてくれるところがあるといいなーと思う場合は無きにしもあらず

623 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:50:42 ]
Squirrelは辛うじて読めたが、Luaは読めなかった俺
今のところ自力で直す場面に出くわした事は無いが、これを直すとなると骨折れるだろうな…

624 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 12:05:00 ]
>>601
jkBindだが、SqPlusと比較してみる。

いいところ:
・ソースコードが遥かにきれいで簡潔
・グローバルスコープで余計なことをしない(main関数抜けるまで握ってるオブジェクト解放しないってなんだそれ>SqPlus)

わるいところ:
・テストコードが整備されていない
・マニュアルがない(簡単なサンプルコードのみ)
・Squirrel言語仕様への対応が古い(公式のはコンストラクタの登録に対応してない。要パッチ)
・DirectXのラッパーライブラリがない?(全然使わんよこんなもの)
・せめてソースコードにコメントくらいは書いてください

バインダとしての使い勝手はそう変わらないと思う。
どちらもtemplateを用いるし。

625 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 15:14:24 ]
plusd.itmedia.co.jp/pcuser/articles/0902/17/news046.html

キーカスタマイズ機能でLuaを使ってるそうな。

626 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:15:03 ]
Lua の言語仕様が好きって人いる?
JavaScript から prototype をなくしたような感じで、
しかも stackless。
なんかすごく気に入ったんだけど、そういう人いないかしら?

627 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:34:28 ]
pascalっぽいところが好き

628 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:08:40 ]
俺は pascal っぽいところが嫌いw

629 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:28:38 ]
end だけかYO!



630 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:55:36 ]
どうやっても--はコメントではなくて、デクリメントと認識してしまっている

631 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:26:57 ]
AngelScriptはなぜ広まらないんだろう。
かなり使いやすいと思うんだが、やっぱり日本語資料が少ないのがネックなんだろうか。

632 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:57:11 ]
  . ∩___∩ ;
  ; | ノ|||||||  ヽ `
 , / ●   ● |   
 ;, | \( _●_) / ミ  AngelScript…
; 彡、 | |∪|  |、\ ,
./    ヽノ/´> ) :
(_ニニ>  / (/ ;
; |     | ;
' \ ヽ/ / :
, / /\\ .  
; し’ ' `| | ;

633 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 04:01:51 ]
>>631
コルーチンが無いからスルーした記憶がある
「このサンプルは AngelScript でどうやったらコルーチンが実装できるか示してる」
って状態だとさっぱり嬉しくない

634 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 08:03:15 ]
ぅあ!

635 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 08:54:02 ]
過去スレを見たら、Lua で Yコンビネータを書いてる人とかいたけど、今は
いないのかな。
言語オタクの興味の対象から、実用フェーズに移ったということなのかなあ。

「スクリプト」で差がついた日米ゲーム開発の生産性 GDCを読む(2) デジタル家電&エンタメ-最新ニュース:IT-PLUS
it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000006022009

636 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:01:19 ]
>>633
C++のバイナリ仕様に合わせて設計されてるわけだから、C++にできないことを実装するのは難しいのかもな。
ただJITコードですら中断可能なコルーチン化は実現できるので、やりようはあると思う。

637 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:08:11 ]
ほう

638 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:12:47 ]
>>633
普通にSuspendじゃだめなん?
lua_yieldと同じことはできるよ。
引数渡せないが。

639 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:31:17 ]
>>638
マニュアル眺めてまともに記述されてないってことでスルーしただけなのでつっこまれると困る。すまん
できるのならどんな記述でできるのかぐらい書いておいてほしい





640 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:31:25 ]
むしろ引数なんか要らないっていう

641 名前:デフォルトの名無しさん [2009/02/18(水) 13:37:22 ]
>>639
void Suspend()
{
asIScriptContext *lpContext=asGetActiveContext();
if(lpContext!=NULL)
{
lpContext->Suspend();
}
}
こんな感じの関数をC++の方に記述して、このSuspend関数をasIScriptEngineインスタンスにRegisterGlobalFunctionで登録すればOK。

Luaだと、
int yield(lua_State *l)
{
return(lua_yield(l, 0));
}
こんな感じかな?

642 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:10:41 ]
Squirrelのバインド操作が意味わからん……。
バインダ使わずその辺を自前で実装したいんだが、SqPlusのコードを読んでてTemplateの嵐だったので投げた。
次はjkBind読むしかないのか……。
SquirrelのC/C++への組み込み方法について、何か参考になるページありませんか?

643 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:26:30 ]
tolua++とか

644 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:28:19 ]
補足です。一般的なsqstd_dofileやsq_compileなどからsq_callすることは出来ております。
スタック操作については若干曖昧ですが、C++側からSquirrel内の関数を呼ぶことは出来ました。
特にBind操作(LuaからC++関数の呼び出しや定数/変数のBind)について、
グルーコードの自動化のような処理を探しています。(Luaで言うところのtolua++に相当する実装)

645 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:34:35 ]
>>642
>>644
それを処理するのに、C++ではtemplateが一番適しているわけだが?
SqPlusにはマクロ版も一応ある。お勧めはしないが。

646 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:42:05 ]
ttp://muffin.cias.osakafu-u.ac.jp/~matumoto/cgi-bin/xt.cgi?prog/squirrel

ここを全部読んで理解するべし。

C++ のクラスを squirrel のクラスとして登録する方法は
「C++オブジェクトでのメタメソッド使用」から先で解説されてる。
ポイントになるのは sq_newclass と、sq_setinstanceup/sq_getinstanceup

テンプレートはラッパー関数群の自動生成を行ってるだけで本質じゃないよ

647 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 21:37:31 ]
>>646
645だが、642は自前でバインド作業をやろうとしてたのか。
2行目の前半を読み飛ばしてた。スマン。

……まあ、そのページ読めば分かるだろう。
ClassオブジェクトをSquirrel中にこさえるのと、それをroottableに登録するのと、
Classオブジェクトにメソッドやらプロパティやらの諸情報を埋め込むのと大まかに3つに分かれる。

648 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:18:49 ]
そろそろ Squirrel の読み方考えようぜ!

649 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:40:42 ]
発音記号に照らせば スクァラル が近いが、俺はスクワールと呼ぶことにしている。
ちょうどそんな名前の喫茶店があるので。



650 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 06:40:56 ]
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   


651 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 07:08:30 ]
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua まピョーん☆
 彡、   |∪|  /
/ __  ヽノ /
(___)   


652 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 09:42:21 ]
ちくしょうクマが可愛くなってきたw

653 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 11:38:00 ]
luaやsquirrelよりもgauche, ypsilon, moshのような国産schemeの方が速いらしいぜ
これからの組み込みスクリプト言語はschemeの時代かもしれない

654 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:18:31 ]
はいはい

655 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:22:24 ]
それは無い。残念ながら。
ありうるならもう来てないとおかしい>schemeの時代

656 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:30:18 ]
schemeの処理系がいくら性能がよくて、柔軟な性質を持っていても、
普通のスクリプタは括弧の嵐を見ただけでげんなりするからな
lisp系がメジャーになることは永遠にないだろう

657 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:37:12 ]
かなりいい線まで行って、おいしいところを非lisp系に取られるんだよなぁ

658 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:20:30 ]
それがLispの矜持でさぁ

659 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:35:58 ]
・・・・・・隠れlisp使い多い?w



660 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:24:06 ]
どっちでもいいよ。

組み込み言語の利点は、ただ1つ「コンパイルなしで改変、実行できる」
言ってしまうとこれだけだし。

デザイナが弄るなら、弄るデータなんてほとんどデータだし、
括弧が多少多くてもプロなら入力してくれる。

ロジックはどうせ、プログラマの仕事だから、schemeだろうが何だろうが、かまわん



661 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:27:55 ]
まあ、止めはしない。がんばれ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef