Не на Haxe передачи параметров по ссылке или скопировать ее?


Возьмем такой код:

function createGUIHud():Void
{
    this.screen.gameHud = new NormalGameHud(10, 0, this.screen.getTextureAtlas());
    this.screen.gameHud.x = FlxG.width - (this.screen.gameHud.width + GameSize.getPositionByPlatform(10));
    this.screen.gameHud.y = GameSize.getPositionByPlatform(10);
}

// NormalGameHud.hx

/**
 * @param lives
 * @param corn
 * @param textureAtlas
 */
public function new(lives:Int = 10, corn:Int = 0, textureAtlas:SparrowData) 
{
    super(0, 0, 30);
    this.lives = lives;
    this.cornCount = corn;
    this.textureAtlas = textureAtlas;

    this.createScoreboard();
    this.createLivesCount();
    this.createCornCounter();
}

Передается ли "textureAtlas" по ссылке или копируется?

Http://api.haxeflixel.com/flixel/util/loaders/SparrowData.html

Я знаю, что PHP передает объекты по ссылке, и такие вещи, как массивы, копируются, если не указано иное (с префиксом &). То же самое относится и к Хаксу?

Спасибо.

2 6

2 ответа:

AFAIK, Primitives (Int, Float, Bool,...) передаются по значению. Все остальное передается по ссылке.

Если он передает объекты по ссылке, разве этот код не должен работать?

Https://try.haxe.org/#dd761

Предполагалось создать экземпляр "b", а затем установить его строковую переменную, но этого не произошло. Это функция, зависящая от цели, или я что-то неправильно понимаю?