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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2008, 19:35
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Generic методы String.

Объясните, пожалуйста, что имелось в виду вот в этих строчках:
Цитата:
All the methods of the String class, except for concat(), fromCharCode(), slice(), and substr(), are generic, which means the methods call toString() before performing their operations, and you can use these methods with other non-String objects.
__________________
Hell is the possibility of sanity

Старый 18.11.2008, 00:04
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 2  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Судя по тексту, получается, что все методы класса String также объявлены у всех классов, у которых есть метод toString() (и что он вызывается перед тем, как запустить выполнение метода).

UPD: ага, забавно:

Код AS3:
var a:String = "ASLNjcna"
var b:Array = [1,4,5,"adS",5,"gf"]
 
trace(a.lastIndexOf ("S"))   //1
trace(b.lastIndexOf ("adS"))  //3
А, ну да... ничего необычного нет - все эти методы (типа lastIndexOf у Array) действительно описаны в документации к классам, у которых есть toString.

Хотя, к примеру, toLowerCase у Array нету. Короче говоря, не стоит обращать особого внимания на этот абзац, имхо.
__________________
Дело не в тебе


Последний раз редактировалось AL.exe; 18.11.2008 в 00:08.
Старый 18.11.2008, 00:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
AL.exe, метод lastIndexOf есть у Array и вполне себе объявлен. А вот если попытаться применить такой метод к тому же Sprite, то ничего не выйдет.

Старый 18.11.2008, 00:10
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 4  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Да, да - я уже заметил, заглянув в документацию. В общем, не совсем соответствует абзац реальности, похоже.
__________________
Дело не в тебе

Старый 18.11.2008, 01:06
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
В абзаце имеется ввиду что эти методы универсальны по отношению к аргументу - их можно кормить переменными любого типа, т к все равно перед работой с аргументом ему устроят toString()
__________________
4am is time to rock

Старый 18.11.2008, 01:27
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Так тоже не катит...
Код AS3:
function func(str:String):void
{
	trace(str.toLowerCase());
	trace(str.concat(" !!!"));
}
 
var mc:MovieClip = new MovieClip();
func(mc);
Будет ошибка еще на этапе компиляции, так что даже в тело функции не зайдет...
Код AS3:
function func(str:Object):void
{
	trace(str.toLowerCase());
	trace(str.concat(" !!!"));
}
 
var mc:MovieClip = new MovieClip();
func(mc);
Если так, то будет ран-тайм ошибка на первой строчке функции...

А в таком варианте оба метода работают, опять же никакой разницы...
Код AS3:
function func(str:String):void
{
	trace(str.toLowerCase());
	trace(str.concat(" !!!"));
}
 
var mc:* = new MovieClip();
func(mc);
__________________
Hell is the possibility of sanity

Старый 18.11.2008, 13:28
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 7  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
Ровно этот же текст фигурирует в описании String в as2. Так что, видимо, фантом. Не берите в голову.
Лично я не раз находил в хелпе ошибки, не проходившие испытание тестом.
__________________
Регардсы.

Старый 18.11.2008, 14:35
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Немного не в тему спрошу, не хотел отдельную тему создавать:
В хэлпе для ключевого слова override написано:
Цитата:
You cannot use the override attribute on any of the following:
...
Methods that implement an interface method
...
Но метод родителя, реализующего интерфейс с интерфейсным методом переопределяется в потомке без проблем. Это тоже баг хэлпа или я чего-то не догнал...

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

Регистрация: Sep 2002
Сообщений: 30,784
Волгоградец, это смотря в каком контексте данный текст. Если это относится к интерфейсам, то всё верно.

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
__etc, не понял... Я могу унаследовать интерфейс от другого интерфейса и переопределить его методы, ошибки нет. Я могу унаследоваться от класса и переопределить метод, который в свою очередь реализован от интерфейса, нет ошибки.

upd.:
ой, сори в интерфейсах правда нельзя переопределяться. Значит это не баг хэлпа, а мой баг.


Последний раз редактировалось Волгоградец; 18.11.2008 в 15:15.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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