[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Squirrelに関するkujooのブックマーク (17)

  • Home

    Featured Pages FAQ LanguageTutorials LanguageSamples EmbeddingGuide SamplesAndStuff ProjectsUsingSquirrel WindowsCE_PocketPC SquirrelLogoImages C++ bindings SqPlus : An easy to use binding system, utility classes and functions Squadd The package of SQuirrel's ADDitions contains an advanced, template-based binding utility and a lot of useful classes. DXSquirrel Is a simple application that wraps a

  • Squirrel - The Programming Language

    ::News Squirrel 3.2 stable has been released, check it out. "Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games." Overview Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weigh

  • Squirrel 2.2 Reference Manual

    This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must n

  • Squirrel 2.2 リファレンスマニュアル

    テーブルコンストラクタ tslots := ( 'id' '=' exp | '[' exp ']' '=' exp ) [','] exp := '{' [tslots] '}' 新しいテーブルを作成する。 local a = {} // 空テーブルを作成する テーブルコンストラクタでスロット宣言を含めることもできる。これは次の書式を取る。 id = exp [','] キーとしてidを、値としてexpを取る新規スロットを作成する。 local a = { slot1 = "I'm the slot value" } 別の書式として次のようなものがある。 '[' exp1 ']' = exp2 [','] キーとしてexp1を、値としてexp2を取る新規スロットを作成する。 local a= { [1] = "I'm the value" } この2つの書式を混ぜて使用することができる

  • Squirrel 2.1 標準ライブラリ

    この記事は http://wikiwiki.jp/lua/?Squirrel に移行予定です。 この記事は http://squirrel-lang.org/doc/sqstdlib2.html の和訳です。 1. 紹介 Squirrel標準ライブラリはC++で実装されたモジュールの集合である。この言語には必須ではないが、それらは広範囲のアプリケーションによって一般的に用いられる有用なサービス(ファイルI/Oや正規表現など)を提供し、加えて、追加ライブラリの開発のための基礎を提供する。 全ライブラリはSquirrel APIとANSI C実行時ライブラリによって実装されている。モジュールは次のように分けられる。 I/O : 入力と出力 blob : バイナリバッファ操作 math : 基数学ルーチン system : システムアクセス関数 string : 文字列フォーマットと操作 bl

  • Squirrel

    この記事は http://wikiwiki.jp/lua/?Squirrel に移行予定です。 SquirrelとLuaの比較 http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/LuaComparedToSquirrel.htmlより Luaの文法と較べると、Squirrelの文法のほうがよりC/C++/C#に近い (私見だが、Luaの文法には特に長所がないように思う) クラスとインスタンスはSquirrelに組み込まれている (Luaではテーブルでシミュレートしている) Squirrelは(高速な)配列を持つ Squirrelは経験の豊富な商業ゲーム開発者が、商業ゲームの作成で使用するために開発された (Luaでうまく動作するものを取り入れ、そうでない要素を変更したり捨てたりした)。 Luaからテーブルと文字列コードを取り入れ

  • オーバーロードされたコンストラクタの呼び出し(2) - ブロードバンド対応日記

    Squirrel, C/C++http://squirrel-lang.org/先日課題として残した引数の型によるホスト側の関数を呼び分ける方法。StackHandler::GetTypeを使って型を調べて、その型に合う関数を呼ぶサンプルを書いてみた。 #define SQPLUS_CONST_OPT #include "sqplus.h" class Person { public: class Squirrel { public: // Squirrelから呼ばれるファクトリメソッド static int constructor(HSQUIRRELVM v) { StackHandler stack(v); // 一つ目の引数はインスタンスなので、実質的な引数は-1 switch (stack.GetParamCount()) { case 1: // 引数0 return SqPlu

  • C++インスタンス関数を呼び出すSquirrelインスタンス関数(マイフェイバリットな) - 作業記録

    SQPlusはC++のインスタンスをinstanceupへ、関数ポインタをfunctionのfree variableへいれてる。free variable分はいらなくないか?と思ったので。自分はこんなふうに書いた。テンプレートってホント融通きくなあ。 inline static void mysq_register_function(HSQUIRRELVM v, const char* name, SQFUNCTION func, int numparams, const char* paramtype, SQBool bstatic = SQFalse) { sq_pushstring(v,name,-1); sq_newclosure(v,func,0); if(paramtype) sq_setparamscheck(v,numparams,paramtype); sq_setna

    C++インスタンス関数を呼び出すSquirrelインスタンス関数(マイフェイバリットな) - 作業記録
    kujoo
    kujoo 2009/04/17
    "C++インスタンス関数を呼び出すSquirrelインスタンス関数(マイフェイバリットな)"
  • Lua/組み込み系言語 Wiki*

    Squirrelとは? 659 名前:デフォルトの名無しさん[sage] 投稿日:2006/03/03(金) 09:04:54 http://www.squirrel-lang.org/ Luaからこっちにうつった。 GCではなくて、参照回数をカウントする方式。 Classやらなんやら充実してるぶん、サイズもちょっとデカいかな 配列も0からはじまるつか、配列がべつ扱い s<- ["a","b","c","d","e"]; 660 名前:デフォルトの名無しさん[sage] 投稿日:2006/03/03(金) 19:51:13 >>659 結構よさげだね。 Luaをオブジェクト指向にした感じだな。 らしい。 Squirrel 2.1 リファレンスマニュアル 第1章 はじめに 第2章 言語 続き 第3章 Embedding Squirrel 第4章 APIリファレンス 1 2 Squirrel

    Lua/組み込み系言語 Wiki*
  • もんしょの巣穴blog Squirrel その10

    過去ログを見てたらSquirrelの話を終了していないことに気付いた。 なのでやる。今回で最後。これだけわかれば多分ゲームに必要な全ての物を用意できるものと思います。 Squirrelではクラスが使えます。メタメソッドによってC++でいうところのoperatorも使えるので、大変便利です。 特に3Dゲームを作るならベクトルやマトリクスで有効に使えるでしょう。 当然、これらはSquirrelファイル内だけではなく、C++プログラム内からも使えることが望ましい、というか使えないと困ります。 まずはクラスの定義ですが、こちらはSquirrelファイル内で行うのがよいでしょう。 言語仕様でも書きましたが、dofile()を利用すればヘッダファイルのようにインクルードすることが出来るので、よく使うクラスや関数は専用ファイルを作成してそこで定義し、必要なところでdofile()を実行すればよいでしょう

  • もんしょの巣穴blog Squirrel その1

    最近、Luaという単語を稀ながら耳にすることがある。 Luaは、いわゆるスクリプト言語と呼ばれる類の言語で、一般的には組み込み型軽量言語というのではないかと思う。 スクリプト言語はある程度以上の規模のゲームを作る上では欠かせない。 スクリプト言語で出来ることはC/C++にしろJAVAにしろ、ほとんどそちらでも対処可能だ。 しかし、それらを全てプログラムで書くのはいろいろな点で難しい。 まず、プログラムサイズが無駄に大きくなる。使う必要のないところでも読み込まれるからだ。 しかもちょっと変更しただけでメイクしなおすというのはかなり面倒。 スクリプト言語があれば、ある程度の処理をそちらで作ることが可能になる。 プログラムのメイクとは別にコンパイル可能なので、プログラマ以外でも弄ろうと思えば弄れる。 プログラムとは別のデータになるので、読み込まなければ無駄なメモリを消費せずに済む。 上手くすれば

  • もんしょの巣穴blog Squirrel その2

    前回の続き。 まずは Squirrel をDLしてきます。公式サイトからSourceForgeに飛んでDLできます。 メイクファイルも付属していますが、VC6プロジェクトファイルが付属しているのでVS使用者なら簡単にビルドできるでしょう。 エラーが出るかもしれませんが、簡単に直せると思います。 ライブラリ以外に sq.exe があり、これを使用すれば Squirrel ソースファイルのコンパイルや実行が可能です。 実行は以下のコンソールコマンドです。 sq ファイル名 Squirrel ソースファイルのデフォルト拡張子は .nut です。リスだからナッツ、ということなのでしょう、きっと。 まず、適当なソースファイル(test.nut とか)を作成し、以下のように書いてください。 print("Hello World!"); なお、セミコロンはなくても可。Cプログラマならつけておいた方がわか

  • もんしょの巣穴blog Squirrel その3

    GWはツーリングに行く予定ですが、問題なのはガソリン代。 130円超えてますよ。アホかと。 バイクは車に比べると燃費はいいけど、それにしたってきついよ。 前回の続き。 Squirrel でも関数の作成が可能です。もちろん、引数も使えて戻り値も使えます。 function foo(a, b) { return a + b; } 引数、戻り値ともに型は指定できません。 整数や浮動小数点数を使う分には問題ないですが、テーブルや配列を使うときは気をつけてください。 この手のエラーはコンパイル時には出てこないで実行時に出てきます。 なお、整数等の引数はコピーになりますが、テーブルや配列は参照渡しになります。 関数は関数ポインタのように変数に代入することが出来ます。もちろん、その使用も可能です。 また、テーブル内の関数は以下のように登録できます。 local a = {}; function a::f

  • もんしょの巣穴blog Squirrel その4

    Squirrel ではクラスが使用できます。 C++ほど便利なわけではないですが、一応継承も出来ます。 デストラクタはありませんがコンストラクタはあります。 class CVec3{ x = 0.0; y = 0.0; z = 0.0; constructor(...) { if(vargc >= 3){ x = vargv[0]; y = vargv[1]; z = vargv[2]; } } function Print() { print(x + ", " + y + ", " + z + "\n"); } }; コンストラクタは constructor キーワードで作成します。 引数の ... は 0 個以上の引数を指定できます。 vargc に引数の個数、vargv の配列に引数の中身が入っています。 これはクラスのコンストラクタだけでなく、普通の関数でも使用できます。 なお、S

  • もんしょの巣穴blog Squirrel その5

    今回で Squirrel の言語仕様解説は終了。 C言語と同様に条件分岐には if と else を使います。 if(i == 0){ } else if(i == 1){ } else{ } ループには for 、while 、do?while が使えます。どれもC言語と同じ使い方です。 for 文は for 文内で変数宣言することもできます。 for(local a=0; a<10; a++){ } C言語にはありませんが、C#にはある foreach が使えます。 foreach は配列やテーブルのスロットの数だけループします。 local arr = ["zero", "one", "two"]; foreach(i, v in arr){ print(i + ", " + v + "\n"); } 結果: 0, zero 1, one 2, two この例の場合、i にスロット名

  • もんしょの巣穴blog Squirrel その6

    すっかり遅くなった Squirrel の話。 今回から数回に分けて組み込みの話をしていきます。 組み込む言語はC/C++を利用します。JAVAやC#に組み込む場合はソースを弄ってくださいね。 まず、プロジェクトのリンクライブラリに以下の2つを追加します。 squirrel.lib sqstdlib.lib DLしたソースをコンパイルすれば作成されます。 ヘッダファイルは必要なものをインクルードしますが、とりあえず以下のファイルはインクルードしてください。 squirrel.h sqstdio.h sqstdaux.h 今回は無難に main() 関数を使用します。適当にメイン関数を作りましょう。 Squirrel は直接実行するのではなく、仮想マシンを作成してその上で実行することになります。 仮想マシンとはCPUなどを積んだ実際のハードウェアではなく、ソフトウェア的に作成された計算機のこと

  • もろこしヘッド 高校が期末試験期間中だけど Squirrel についてアツく語ろうと思う

    Squirrel を日で流行らせたい。Lua は注目を浴びたわりにはあまり使われていない気がする。 なので、言語としての Squirrel を Lua との比較も交えてレビューしてみようと思いまふ。 それと SDL_squirrel 改め Sqrap (すくらっぷ) という、ほげほげ中の Squirrel ラッパの宣伝とかも。 続きは WEB で! まずは Lua との相違点を大雑把に箇条書きで。 - 改善点も多く見受けられる - o GC と参照カウントによるハイブリッドアプローチ  → GC をオフにすることも出来る  → ただしその場合ジェネレータの使用には注意が必要 (後述) o グローバル変数にはいきなり = で代入することが出来ない  → 新規スロットとして代入すれば OK (= の代わりに <- を使う)  → これによって typo による未定義変数の使用が避けられるよう

  • 1