Загадки
Запись от Inet_PC размещена 17.03.2014 в 22:22
Обновил(-а) Inet_PC 20.03.2014 в 14:43 (Добавлено еще 3 загадки)
Обновил(-а) Inet_PC 20.03.2014 в 14:43 (Добавлено еще 3 загадки)
Загадка №1:
Есть класс TestBase:
package { public class TestBase { public function TestBase() { super(); } public function foo(a:int, b:int):void { trace("TestBase#foo()"); } } }
Сигнатуру метода менять нельзя!
Загадка №2:
private function foo():void { // какой-то код здесь // использовать ключевое слова var нельзя player = null; } foo();
Загадка №3:
Имеется класс:
package { public class TestClass { public function TestClass() { super(); } public function foo():void { trace("foo"); } public function change(value:Function):void { } } }
foo
--> foo <--
public function Main() { var test:TestClass = new TestClass(); test.foo();//foo test.change(myTrace); test.foo();//--> foo <-- } private function myTrace(...args):void { args.push ("<--"); args.unshift("-->"); trace.apply(null, args); }
- менять код класса Main нельзя;
- использовать var, const, dynamic, prototype нельзя;
- менять метод foo нельзя;
- наследоваться нельзя.
Загадка №4:
Необходимо, не меняя значения переменных, изменить результат их сравнения.
var a:Point = new Point(5); var b:Point = new Point(1); trace(a, "<", b, "=", a < b);//(x=5, y=0) < (x=1, y=0) = false // какой-то код здесь trace(a, "<", b, "=", a < b);//(x=5, y=0) < (x=1, y=0) = true
Необходимо вызвать метод foo, так, чтобы в трейс вывелось: «foo» и «after foo»:
private function foo(...args):void { trace("foo"); throw new Error(); } // здесь нужно как-то вызвать foo trace("after foo");
-должно работать как в debug, так и в release FP;
-изменять метод foo нельзя;
-никаких окон с ошибками не должно быть.
Загадка №6:
Имеется класс Color, с перечислением цветов (фактически Enum):
public class Color { public static const RED:Color = new Color(0xFF0000);//it's OK public static const GREEN:Color = new Color(0x00FF00);//it's OK public static const RANDOM:Color = new Color(Math.random() * 0xFFFFFF);//it's OK // остальные объявления цветов private var _value:uint; public function Color(value:uint) { super(); _value = value; // какой-то код здесь } public function toString():String { return _value.toString(); } }
создать еще один экземпляр класса Color:
trace(Color.RED, Color.GREEN, Color.RANDOM);//0xFF0000 0x00FF00 0xF67D53 trace(new Color(Math.random() * 0xFFFFFF));//здесь должно упасть в run-time
-использовать динамику нельзя.
Некоторые задачи имеют несколько решений. Так же некоторые задачи используют недокументированные
возможности FP. Используйте их (лучше не используйте) на свой страх и риск. Вообщем это все just for fun!
Всего комментариев 80
Комментарии
![]() ![]() |
|
Во второй я бы написал:
Шестая: Задача 1 : "trace" не сказано, что нельзя использовать SharedObject. А вот моя небольшая задачка: Нужно поменять переменные местами не используя других переменных, используя только сложение, вычитание и присваивание (EDIT: не более двух присваиваний). |
|
Обновил(-а) Rzer 22.03.2014 в 01:00
|
![]() ![]() |
|
rumc, что-то в трейс вообще ничего не выводится.
Rzer, решение второй задачи принимается! Решение 6 задачи, увы нет. Предполагается универсальное решение. Цитата:
// остальные объявления цветов
Цитата:
Задача 1 : "trace" не сказано, что нельзя использовать SharedObject.
|
|
Обновил(-а) Inet_PC 21.03.2014 в 21:26
|
![]() ![]() |
|
![]() ![]() |
|
![]() ![]() |
|
Inet_PC, четвертая:
5-ю пока не решал, in4core, над твоей не думал ещё тоже. |
![]() ![]() |
|
Обновил(-а) Inet_PC 23.03.2014 в 17:59
|
![]() ![]() |
|
КорДум, а в два присваивания?)
|
![]() ![]() |
|
Цитата:
Не понятно чем здесь поможет SharedObject?
|
![]() ![]() |
|
![]() ![]() |
|
Хитрец =)
Можно и без использования arguments |
|
Обновил(-а) Rzer 22.03.2014 в 03:52
|
![]() ![]() |
|
![]() ![]() |
|
in4core, в вашу задачку про doIt можно использовать SharedObject. Но это неинтересно.
|
![]() ![]() |
|
![]() ![]() |
|
В пятой можно не UncaughtError подписаться.
|
![]() ![]() |
|
alatar, можно. И?
|
![]() ![]() |
|
И все станет хорошо!
|
![]() ![]() |
|
Цитата:
alatar, можно. И?
|
![]() ![]() |
|
Цитата:
И это будет соответствовать условию.
|
![]() ![]() |
|
GBee дело говоришь...
|
![]() ![]() |
|
Lecosson шикарно!
|
![]() ![]() |
|
Ойойой, люди что ж вы делаете!
|
![]() ![]() |
|
in4core, варианты со счетчиком
![]() private function doIt():void { var n:int = int(arguments.callee.valueOf['cnt']) + 1; arguments.callee.valueOf['cnt'] = n; trace(n); } |
![]() ![]() |
|
Вот это событие, @MerlinTwi, какими судьбами?
|
![]() ![]() |
|
Да уж богат наш русскЫй язык ) чего только не придумают.
|
Последние записи от Inet_PC
- Загадки (17.03.2014)