Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.01.2007, 02:59
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 11  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
функция controllElem(param:Array)
уже после строчки
var shifter:Array = (param.length != 1) ? param.shift() : param;
массив трейсится как ноль

Старый 26.01.2007, 03:11
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 12  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
На том же сайте:
Цитата:
mbd said on Feb 15, 2006 at 10:35 AM :
The Void return definition is incorrect. The reverse method actually returns the Array in question. This also includes the class file, which indicates Void, yet it REALLY does return the Array.
он прав:
Код:
var g:Array = [1,2,3]
var w = g.reverse()
trace(w instanceof Array) //true
с реверсом проблем нет так в противном случае была бы

Цитата:
The expression returned must match the function's return type.

Старый 26.01.2007, 03:19
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 13  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
Цитата:
Сообщение от vic_
функция controllElem(param:Array)
уже после строчки
var shifter:Array = (param.length != 1) ? param.shift() : param;
массив трейсится как ноль
не понял после какой строчки

Старый 26.01.2007, 03:23
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 14  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
Код:
class Vector {
	public var coordinates:Array;
	public function Vector(arr:Array) {
		this.coordinates = this.controllElem(arr);
	}
	public function dimension():Array {
		var misc = this.coordinates.concat();
		return misc;
	}
	public function length(roundable:Boolean):Number {
		roundable = (roundable == null || !(typeof roundable == "boolean") || !roundable) ? false : true;
		var misc = this.coordinates.concat();
		var summ:Number = 0;
		for (var i in misc) {
			summ += Math.pow(misc[i], 2);
		}
		return (roundable) ? Math.round(Math.sqrt(summ)) : Math.sqrt(summ);
	}
	private function controllElem(param:Array):Array {
		if(param.length != 1)param.shift();
		var total:Number=param.length;
		var shifter:Array = [];
		for(var i:Number=0;i<total;i++){
			shifter[i] = isNaN(param[i]) ? 0 : param[i];
		}
		return shifter;
	}
	public function coord(param:Array) {
		this.coordinates = this.controllElem(arguments);
	}
	public function invert():Vector {
		var __coord:Array=[];
		for (var i:Number=0;i<coordinates.length;i++) {
			__coord[i] = -1*coordinates[i];
		}
		var __vec:Vector = new Vector(__coord);		
		trace(__vec.coordinates);	
        return __vec;
	}
}
работает правильно?

Старый 26.01.2007, 10:48
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 15  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
неа. нужно чтобы свойство coodinates возвращало первый элемент arguments. т.е. массив, но в этом случае оно возвращает этот массив без первого элемента

Старый 26.01.2007, 11:48
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 16  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
решил. функцию controllElem() переделал таким образом:
Код:
private function controllElem(param:Array):Array {
		var __len = param[0].length;
		for (var i = 0; i < __len; i++) {
			if (isNaN(param[0][i])) {
				param[0][i] = 0;
			}
		}
		return param[0];
	}
спасибо vic_ и __etc за помощь

Старый 26.01.2007, 11:53
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 17  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
ну так убрать shift, я думал так нужно по ходу задачи

Старый 26.01.2007, 11:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 18  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
У меня есть большое подозрение, что ты усложняешь задачу какими-то ненужными циклами, шифтами, реверсами…

Старый 27.01.2007, 01:25
Madeyra вне форума Посмотреть профиль Отправить личное сообщение для Madeyra Найти все сообщения от Madeyra
  № 19  
Ответить с цитированием
Madeyra

Регистрация: Sep 2006
Сообщений: 16
Цитата:
Сообщение от __etc
У меня есть большое подозрение, что ты усложняешь задачу какими-то ненужными циклами, шифтами, реверсами…
а что делать - пока что называется учусь. одно дело когда человек занимается уже пятый год а совсем другое когда всего 7 месяцев.
может со временем приду к более правильному решению задач.
запустался в том, что один метод класса Array возвращает Array, другой Object, третий Void, еще String и Number. Мультикласс такой...

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.