2012-12-01から1ヶ月間の記事一覧

はじめる! Squirrel 第8章 高度な話題 その2

協調動作 スレッドとジェネレータ ジェネレータは yield 文を含む関数。呼び出すとジェネレータが返る yield したらそこで処理が中断される。yield に渡した値がジェネレータの resume から取得できる ジェネレータは resume で再開できる 最初に走りはじめ…

はじめる! Squirrel 第8章 高度な話題 その1

メタメソッド フックメソッドみたいなもの テーブルやクラスに適切なインタフェースで関数を定義しておいて、演算子を評価する時にその関数を実行させる _cmp を定義すると , = 演算子で呼ばれる _add を定義すると + 演算子で呼ばれる クラスオブジェクトに…

はじめる! Squirrel 第7章 クラス その3

今日はコンストラクタから コンストラクタはクラスのメンバ関数に constructor という名前で定義すればよい。引数を指定したらインスタンス化の時に引数を渡せる ここのサンプルコードの説明に「デフォルト引数と関数を引数として渡すコードを含む例」とあり…

はじめる! Squirrel 第7章 クラス その2

クラスのインスタンス作成はクラス名を関数として呼ぶ class C { }; local c1 = C (); インスタンスのもつメンバ変数の初期値はクラス定義時に定義したもの static メンバ変数 - クラスの全インスタンスで共有、するだけでなく変更ができない、定数として使…

はじめる! Squirrel 第7章 クラス その1

今日は時間があまりなくてちょっとだけです クラス定義の構文 class (クラス名) { // メンバ変数の定義 int a = 0; function f() { } }; クラス名は大文字からはじまらないといけないのかな、と思いきや class foo {} でも定義できました。ただの慣習みたい…

はじめる! Squirrel 第6章 配列とテーブル

配列インデックスは 0 オリジン 配列には異なる型の要素を持てる 配列にドット(".")をはさんで関数を書ける。メソッド呼び出しみたいですね。このドットの両側にも空白を挟むのが慣習みたい len, append, insert, remove, clear, sort, reverse, resize, sli…

はじめる! Squirrel 第5章 関数

関数は「ファーストクラスの値」(Squirrel の公式ドキュメントより) 「配列を内部に保持することができ」という部分はどういう意味でしょうか 「関数は Squirrel 上で、もしくは ANSI C の関数呼び出し規約をもつネイティブコードとして実装することができる…

はじめる! Squirrel 第4章 制御構文

ほぼ C と同じ(switch 文が break を書かないと fall through するのも一緒)なので細かいメモはしませんでした。 return 文の説明に「関数もしくはジェネレータを終了し」とあるのでジェネレータがあるみたい for 文とは別に foreach 文がある。配列、テーブ…

はじめる! Squirrel 第3章 演算子

演算子はだいたい C と同じ + α みたいです 代入演算子(=)、複合代入演算子(+= とか -= みたいなの) 算術演算子(+-*%) インクリメント、デクリメント(++, -- 表 3.4 はデクリメントが - 1つのように見えます) 前置と後置があり、その違い(インクリメント、デ…

はじめる! Squirrel 第2章 変数と値とデータ型 その2

enum C の enum に似ているが値として整数だけでなく浮動小数点数や文字列を指定できる ただし指定した値は値を明示しなかった定数の値に影響しない→指定するなら(整数の場合)全部指定しないと被るかも。また開始を0からじゃなくて1からにしたくて最初の要素…

はじめる! Squirrel 第2章 変数と値とデータ型 その1

今日は第2章です。新しいプログラミング言語を知るにはまずデータ型から。今日はデータ型、リテラル、そして文字列操作(えっ)と変数について読みます。 Squirrel のデータ型 整数 浮動小数点数 文字列 真偽値 null 整数についてはそのバイト幅や多倍長整数な…

はじめる! Squirrel 第1章 はじめに その2

Squirrel スクリプトファイルの拡張子は .nut Squirrel がリスなのでそれに食べさせるファイルはナッツだと。おもしろい命名方法ですね 最初の Squirrel プログラム print ("Hello Squirrel!!\n") print と括弧のあいだに空白があるのが気になりますね。削っ…

はじめる! Squirrel 第1章 はじめに その1

Squirrel の特徴 クラスと継承のサポート 高階関数のサポート レキシカルスコープ ジェネレータ、コルーチンなどの並列処理のための機能をサポート 例外 自動的なメモリ管理(つまり GC?) モダンな言語が持つ機能をひととおり持っている感じ。ないのはリフレ…

はじめる! Squirrel まえがき

今日からまたまた達人出版会の「はじめる!」しりーず「はじめる! Squirrel」を読みます。2011年9月版とあるので1年以上積ん読してたんですね。http://tatsu-zine.com/books/squirrelまえがきがそれなりのボリュームがあるので今日はまえがきだけ。 Squirrel …