1. JavaScript / Говнокод #6867

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    englishWords = new Array()
    
    englishWords['ф'] = 'a'
    englishWords['и'] = 'b'
    englishWords['с'] = 'c'
    englishWords['в'] = 'd'
    englishWords['е'] = 'e'
    englishWords['а'] = 'f'
    englishWords['п'] = 'g'
    englishWords['р'] = 'h'
    englishWords['ш'] = 'i'
    englishWords['о'] = 'j'
    englishWords['л'] = 'k'
    englishWords['д'] = 'l'
    englishWords['ь'] = 'm'
    englishWords['т'] = 'n'
    englishWords['щ'] = 'o'
    englishWords['з'] = 'p'
    englishWords['й'] = 'q'
    englishWords['к'] = 'r'
    englishWords['ы'] = 's'
    englishWords['е'] = 't'
    englishWords['г'] = 'u'
    englishWords['м'] = 'v'
    englishWords['ц'] = 'w'
    englishWords['ч'] = 'x'
    englishWords['н'] = 'y'
    englishWords['я'] = 'z'
    
    function convertString(string) {
    	newstring = ''
    	for (i=0;i<string.length;i++)
    	{
    	    newstring += englishWords[string[i]];
    		
    	}
    	alert(newstring)
    }

    Минут двадцать вбивал английский алфавит...
    И все для того, что бы создать эффект, будто пользователь забыл переключить раскладку при печати...

    Запостил: MyNameIsWinner, 05 Июня 2011

    Комментарии (32) RSS

    • Ололо, спасибо, пригодится)
      Ответить
    • примитивно, кучи кнопок не хватает
      меня повеселила картина аффтара тычущего одним пальцем в кнопки, которая следует из взаиморасположения букв в маппинге
      Ответить
      • bugmenot , алфавит я набирал так медленно, в силу того, что его слабо помню.
        А печатаю я, кстати, десяти пальцевым методом.
        Ответить
        • тут очевидны проблемы с логикой, а не с памятью
          Ответить
          • По моему, выкладывая свой код на govnokod.ru я как бы этим тонко намекаю на то, что этот кусок говнокода, цитирую брифинг проекта, "нельзя назвать нормальным", и не зарюсь на то, что бы мой код называли красивым и логичным.
            Ответить
            • я и не говорю, что не говно
              код - говно, но говно унылое и предсказуемое, написанное уже тысячами нубов по всему миру
              Ответить
              • Я вот не вижу смысла этой задачи, но если бы я писал такое я также написал. И чего то вот напрягаю извилину, а никак не пойму как сделать по другому.
                Ответить
                • auto ololo = new char[];
                  for(char t = 'а'; t < 'я';) {
                  auto blblbl = 'a'; ///тут уже англицкая
                  ololo[t] ~= blblbl;
                  blblbl++;
                  }
                  Ответить
                • Я писал это не для практического использования. Просто меня попросили написать пример для обучения работы со строками, на примере такой вот задачи.
                  Ответить
                • > напрягаю извилину, а никак не пойму
                  Hе приходила мысль о смене профессии? Человек, хоть сколько нибудь знакомый с программированием таки может отличить массив от объекта и не будет валить всё в кучу.

                  А высшая нервная деятельность, которая, по Штейметцеру, присутствует в рудиментарном состоянии даже у трудолюбивых индусов, предписывает прожмакать последовательно все кнопки во всех желаемых раскладках и предоставить машине сгенерировать маппинги, какие угодно, даже красиво отсортированные по алфавиту.
                  Ответить
                  • Короче сделать также но вбивать не в руками а сделать софт который это сделает, можно пойти дальше написать код который генерирует код который может вывести данный массив.
                    Мне кажется вам пора выйти на улицу погулять на свежем воздухе.
                    Ответить
                    • ох, лол, как прямолинейно
                      а вдруг, за каким-то вишну, захочется обратное преобразование сделать?
                      Ответить
                      • пройдутся регекспом по этому коду. У меня даже блокнот такое может. Еще всякие
                        Фары с его макросами дело 1 минуты.
                        Ответить
                    • А вдруг у кого-то дворак/колемак/прочий покусанный говномак?

                      Для баша сойдет: `xmodmap -pke' и `keysymdef.h'. Или подглядеть в typetrainer `kbd.py'.
                      Ответить
    • Лютый боян.
      Ответить
    • Просто проверял как табуляция работает:
      var converter = (function(){
          var table = {"ф" : "a", "и" : "b", "с" : "c", "в" : "d",
      		 "е" : "e", "а" : "f", "п" : "g", "р" : "h",
      		 "ш" : "i", "о" : "j", "л" : "k", "д" : "l",
      		 "ь" : "m", "т" : "n", "щ" : "o", "з" : "p",
      		 "й" : "q", "к" : "r", "ы" : "s", "е" : "t",
      		 "г" : "u", "м" : "v", "ц" : "w", "ч" : "x",
      		 "н" : "y", "я" : "z"};
          function oneToOne(source, destination){
      	destination = destination.split("");
      	for (var current, i = destination.length;
      	     current = destination[--i];)
      	    (current in source) && (destination[i] = source[current]);
      	     return destination.join("");
          }
          return function(input){ return oneToOne(table, input); };
          })();
      converter("И все для того, что бы создать эффект, " + 
      	  "будто пользователь забыл переключить раскладку при печати...");
      "И dct lkz njuj, xnj бs cjplfnm эaatrn, буlnj gjkmpjdfntkm pfбsk gthtrkюxbnm hfcrkflrу ghb gtxfnb..."
      Ответить
      • > Просто проверял как табуляция работает:

        тогда логично было бы выбрать Whitespace
        Ответить
      • "Хрен редьки не слаще"... (ц)
        Ответить
        • Табуляция в редакторе для разных языков разная. А тут просто понравилось, что выравнивает по кавычке, кроме emacs нигде такого не видел. Но, по-моему, красиво.
          В код не вдумывался.
          Кириличной раскладки нет / я даже не знаю, какая она / лень смотреть.
          Ответить
    • > Минут двадцать вбивал английский алфавит...
      Для таких занятий существуют молодые и неопытные девушки
      Ответить
    • (function () {
      	var ABC = "аfб,вdгuдl"; // и т.д.
      	convert = function(ii) {
      		return ii.replace(/./g, function (a) {
      			var idx = ABC.indexOf(a);
      			if (idx === -1) return a;
      			return ABC.charAt( idx + ( idx % 2 ? -1 : 1 ) );
      		});
      	};
      })();


      Же.
      Ответить
      • > вdгuдl
        мне нравится ваш выбор
        Ответить
        • Так данные забивать удобнее.
          Ответить
          • с чего это - удобнее?
            var lat = 'qwerty'; 
            var rus = 'йцукен';
            assert(lat.length === rus.length);

            же, один цикл преобразования в кнопки, а потом можно сколько угодно лямбдами обматывать
            Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий