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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.09.2014, 21:36
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 1  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
По умолчанию Переменные в строке

В питоне есть очень удобная конструкция замены специальных символов на значения:

Код AS3:
return " Takes %d units of health " % (3) // вернет "Takes 3 units of health"
Помогите написать функцию, которая могла бы принимать три аргумента и возвращать обработанную строку.

Код AS3:
parse (str:String, symbol:String, arr:Array) :String

Старый 05.09.2014, 21:46
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 2  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Вы издеваетесь чтоль? У Вас две темы в блоге и Вы не знает, как сделать метод склеивания строк?
Кто Вам тогда темы для блога писал? Или Вы считаете нормальным вести блог, когда не знаете, как сделать простое склеивание?

Старый 05.09.2014, 22:38
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 3  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
"123 %d 321".replace("%d", "asddsa")
// "123 asddsa 321"
profit

Старый 06.09.2014, 00:06
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Gerbert, что вы такой агрессивный? Может человек никогда со строками не работал и спрашивает, как лучше. К тому же задача не так проста, как кажется.

nubideus
"Привет %s, тебе сегодня исполнилось %d %s. Сегодня в %s день могут смотреть не %s"
["Юзернейм", "4", "года", "завтрашний", "только лишь все"]

Добавлено через 4 минуты
Я бы сделал как во флексе ResourceManager там замена напрямую из массива по индексу:
"Привет {0}, тебе сегодня исполнилось {1} {2}. Сегодня в {3} день могут смотреть не {4}. Не скучай, {0}!"
["Юзернейм", "4", "года", "завтрашний", "только лишь все"]

И гибче получается
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 06.09.2014, 00:30
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 5  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
Gerbert, что вы такой агрессивный? Может человек никогда со строками не работал и спрашивает, как лучше. К тому же задача не так проста, как кажется.
Вы можете поверить в то, что человек-программист со стажем минимум четыре года никогда не работал со строками?

Ну а вообще, да, я извиняюсь перед ТС - простите! Это не мое дело.

Старый 06.09.2014, 00:46
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Вы можете поверить в то, что человек-программист со стажем минимум четыре года никогда не работал со строками?
Вот вы провокатор :о) Да, странно, конечно. Может лень напала?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 06.09.2014, 01:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ну угнали у него аккаунт, спрашивают чего непонятно, чего панику разводить?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jan 2013
Сообщений: 322
Код AS3:
var arr:Array = ["asd", 1, 2, 4];
trace("{1}, {2}, {3}, {0}, {0}".replace(/{[0-9]+}+/g, function(substr:String, i:uint, str:String):String {
	return arr[uint(substr.slice(1, -1))];
})); // 1, 2, 4, asd, asd
Код AS3:
var arr:Array = ["Юзернейм", "4", "года", "завтрашний", "только лишь все"];
var str:String = "Привет %s, тебе сегодня исполнилось %d %s. Сегодня в %s день могут смотреть не %s";
trace(str.replace(/%s|%d/g, function(substr:String, i:uint, str:String):String {
	switch(substr) {
		case "%s": return arr.shift();
		case "%d": return arr.shift();
	}
}));
// Привет Юзернейм, тебе сегодня исполнилось 4 года. Сегодня в завтрашний день могут смотреть не только лишь все
profit

Старый 06.09.2014, 01:44
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 9  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Принимаю ваш праведный гнев. Просто не хотел отвлекаться от основных тасков и подвесил функцию на сообщество. Иcходил из того, что функция будет полезна многим, поэтому и спросил.

p.s Пишу свой Heartstone с блекджеком и шлюхами. Код есть на гитхабе.

Старый 06.09.2014, 02:49
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 10  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
profit
Клёво!
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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