1. Lua / Говнокод #18346

    −85

    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
    local sol_lines = {}
    local i = 1; local j = 0;
    	
    while (i <= solution:len()) do
    	local begin_pos = i
    	while(i <= solution:len() and solution:sub(i, i) ~= '\n') do
    		i = i + 1
    	end
    
    	if i > solution:len() then
    		i = solution:len()
    	end
    
    	local cur_line = solution:sub(begin_pos, i)
    	sol_lines[j] = trim(cur_line)
    	i = i + 1
    	j = j + 1
    end

    Lua
    Как я разбивал строку на отдельные линии. Вместо того, чтобы использовать string.find(s, "\n", i + 1). Так я писал код 0.027397 года назад назад.

    Запостил: Janycz, 15 Июня 2015

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

    • А что в Lua со split и использованием map/filter/reduce?
      Скажем, в JS:
      var z = str.split('\n').map(function(x){ return x.charAt(0) + f(x); });
      Ответить
      • >> f(x)
        что такое функция f?
        Ответить
        • Да не важно, просто какая-то функция.
          Я сначала хотел написать "return x.charAt(0) + 'X';", но тогда всё это почти* заменяется на фигню вида
          var z = str.replace(/([^\n])[^\n]*(\n|$)/g, '$1X$2');

          ________________________
          * Если не учитывать строки, содержащие \n\n и сджойнить z из моего первого комментария.
          Ответить
      • А чё стрелочную функцию не хуйнул?
        Ответить
        • 3 года назад же. Тогда это ещё не было модно.
          Ответить
        • и еще var вместо let зачем-то.

          Нет, друзья, JS до Es2015 это форменное свинство.


          Я тут давеча говнокодил на Es2015 (спасибо бабелю) и это было совсем не то, что когда-то. Нормальный такой скриптовый язык, не противнее питона

          class Foo {
            constructor(pituh) {
             this.pituh = pituh;
           } 
            doAll()   {
             alert(this.pituh);
           }
          }
          
          Foo("pitushok").doAll()
          Ответить
    • Зачем вообще нужна луа? IDE под неё нормальных нет, коммунити мелкое, фреймворков мало.
      Если есть руби и пайтон, то зачем еще луа?
      Ответить
    • заметили что луа чуть ли не единственный ЯП где апиратор неравно звучит как "~="?
      Не <>, не !=, а именно ~=.


      Это пиритом что тильда обычно означает "побитовый не", всмысле перевернуть все биты
      Ответить

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