Get

Squirrelスクリプトの基本的で一貫したルールとして、exp_context.exp と書くことはexp_contextという名前のSQObject内に、"exp"という名前のつけられたSQObjectを探すことを指す。内部的にはこのような . 演算子はコンテクストとなるSQObjectの実際の型に関わらず無条件に_OP_GETもしくは_OP_GETKインストラクションコードへとコンパイルされ、実行時に実際の型は判断される。*1 _OP_GET、_OP_GETKが共通に呼び出すsqvm.cpp:1164行目からのSQVM::Getを見ると実行時に何が行われるのかが分かりやすい。

*1:数値型でさえもこのようにして実行されるための関数が用意されている。これらはdefault delegateとして型固有の処理をこなす関数があらかじめ設定されている。