13 января 2011, 9:34

«Обратный» паттерн

var oppositeOf = {
  'up' : 'down',
  'down' : 'up',
  'left' : 'right',
  'right' : 'left',
  'black' : 'white',
  'white' : 'black'
};

oppositeOf['left'];
// => 'right'

4 комментария РСС

Тормоз
Нафиг? :)
Vitaliy Bogdanets
Например для функции тогл :) toggle
Rulexec
oppositeOf = function()
{
var opposites = {};
return function(get, set)
{
if (get && !set) {
return opposites[get];
} else
if (get && set)
{
opposites[get] = set;
opposites[set] = get;
return;
} else
{
return null;
}
}
}();
oppositeOf(’left’, ’right’);
// …
oppositeOf(’right’);
// => ’left’
// o_O
Vitaliy Bogdanets
oppositeOf = function()
{
    var opposites = {};
    return function(get, set)
    {
        if (get && !set) {
            return opposites[get];
        } else
        if (get && set)
        {
            opposites[get] = set;
		    opposites[set] = get;
            return;
        } else
        {
            return null;
        }
    }
}();
oppositeOf('left', 'right');
// …
oppositeOf('right');
// => 'left'
// o_O
Rulexec
Парсер съел мои пробелы, нужно было что-то сделать, да? :(
Vitaliy Bogdanets
Только хитрожопый админ тут может кодом метать :))
Нужно будет пофиксить, на досуге ;)
Тормоз
Вообще, у меня в Vim стоит какой-то плагинчик, с его помощью очень удобно менять 1 на 0, True на False и т. п.

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter