почему когда вынес код отдельно void не надо?

Код AS3:
package {
import flash.display.Sprite;
public class Example extends Sprite {
public function Example() { // конструктор
trace("hello world");
//myBtn.label="aaa";
myBtn.addEventListener(MouseEvent.CLICK, write);
function write(event:MouseEvent):void{
trace("najal");
answer.htmlText=myText.label;
//answer.htmlText="когда будет 18 сразу приходи";
}
}
}
}
почему на 8 строчку ругается?
Добавлено через 3 часа 45 минут
после добавления

Код AS3:
import flash.events.*;
все заработало
Добавлено через 5 часов 8 минут

Код AS3:
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.display.*;
import flash.events.*;
public class Example extends Sprite {
public function Example() {
myTest();
}
private function myTest():void {
var eighteen=18;
var age2;
tField.htmlText="How old are you?:";
tField.width=200;
goBtn.label="Go";
goBtn.addEventListener(MouseEvent.CLICK, go);
function go(event:MouseEvent):void {
trace("button clicked");
age2=int(age.text);
if (age>=eighteen) {
trace("aaa");
//rez.htmlText="рано пришел";
}else {
trace("bbb");
}
}
}
}
}
Добавлено через 5 часов 9 минут
почуму 'if' не работает в вышеприведенном коде?
Добавлено через 5 часов 18 минут
поменял if(age to if<age2

Код AS3:
age2=int(age.text);
Это правильный способ?
Добавлено через 48 часов 25 минут
Нашел ответ здесь
http://www.flasher.ru/forum/showthread.php?t=133673