特集
» 2008年05月12日 03時27分 UPDATE

Code Comprehension:ActionScript理解度テスト【その1】

各プログラミング言語に精通した方の監修の下、それぞれの言語に関する知識や認識についての、習熟度や理解度を確認するためのテストをお届けする「Code Comprehension」。第1回は、BeInteractive!のyossy氏によるActionScript理解度テストだ。

[新藤愛大,ITmedia]

はじめに:Code Comprehensionとは?

Code Comprehensionは、各プログラミング言語に精通した方の監修の下、それぞれの言語に関する知識や認識についての、習熟度や理解度を確認するためのテストです。普段使っている言語をどの程度理解しているか知りたい方、これから新しい言語にチャレンジしようとする方などにお勧めです。


 こんにちは。BeInteractive!のyossyです。Code Comprehension Testの1発目として、ActionScriptの言語仕様やバグなどに関する理解度テストをお届けします。問題自体は、わたしが執筆しているブログ「BeInteractive!」で過去に掲載したものをベースに、ActionScript3になって変化した点について改訂を加えています。全部できた方はかなり変態チックだと思います。

次の各コードを実行したとき出力される値を答えてください。もちろん、Flashは使わずに

問1.

var a:uint = 0;

trace(a++);

var b:uint = 0;

trace(++b);


問2.

var list:Array = [1,2,3,4,5];

var copy:Array = list;

copy[0] = 6;

trace(list);

trace(copy);


問3.

var o:Object = new Object();

o.a = 1;

o.f = function():void

{

    trace(this.a);

}


var f:Function = o.f;

f();


問4.

var a:String = 'hoge';

var b:String = 'fuga';

trace(a || b);

trace(a && b);


問5.

function f():String { return 'f'; }

function f2():String { return 'f2'; }

var a:String;

var b:String;


if ((a = f()) || (b = f2())) {

    trace(a);

    trace(b);

}


問6.

function f(a:uint, b:Object):void

{

    a = 1;

    b.n = 2;

}


var n:uint = 0;

var o:Object = new Object();

o.n = 0;


f(n, o);


trace(n);

trace(o.n);


問7.

var a:uint = 1;

{

    var a:uint = 2;

    trace(a);

}

trace(a);


問8.

var a:Number;

var b:int;

var c:uint;

var d:Boolean;

var e:Object;


trace(a);

trace(b);

trace(c);

trace(d);

trace(e);


問9.

function f(g:Function):void

{

    var b:uint = 2;

    g();

}


var a:uint = 0;

var b:uint = 1;

f(function ():void

{

    trace(a);

    trace(b);

});


問10.

var obj:Object = [1, 2, 3];


trace(obj as Array);

trace(obj as Number);

trace(obj as String);


 いかがでしたでしょうか。ほかの言語を使われている方などは、その知識が役に立つこともあったのではないでしょうか。こちらの解答については明日公開しますので、がんばってチャレンジしてみてください。

ActionScript理解度テスト【その1】解答編はこちら

豆知識問題

Flash/ActionScript使いは「変態」と呼ばれることが多々あります。その理由をお答えください。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

ピックアップコンテンツ

- PR -

注目のテーマ

マーケット解説

- PR -