Показать сообщение отдельно
  #16 (permalink)  
Старый 18.11.2011, 22:46
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

B~Vladi,
Посмотрел. Не совсем разобрался ещё конечно, но в принципе понял, что имелось введу. Для объектов и я пользовался таким подходом, как раз когда делал но том же node.js - server push. Объект соединения при вызове строки возвращал md5 хеш.
Но использование такого подхода для строки, на мой взгляд, менее востребованно. Хотя тот пример, что я описывал не настолько не реальный:
(function(toString){
	String.prototype.toString = function(encoding, currentEncoding){
		if(!encoding) return toString;
		else {
			currentEncoding = this.encoding || 'utf8';
			try{
				return new Buffer(toString.call(this), currentEncoding).toString(this.encoding = encoding);
			}catch(e){
				return null; // Лучше ошибка вызвать конечно, но для примера так
			}
		}
	};
}(String.prototype.toString));

Грубо говоря конечно. Так же в Strict Mode этот код упадёт
UPD: Таки currentEncoding можно опустить, Buffer сам по умолчанию выбирает uft8.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.

Последний раз редактировалось Nekromancer, 18.11.2011 в 22:50.
Ответить с цитированием