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

    −84

    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

    Комментарии (6) 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 из моего первого комментария.
          Ответить
    • Зачем вообще нужна луа? IDE под неё нормальных нет, коммунити мелкое, фреймворков мало.
      Если есть руби и пайтон, то зачем еще луа?
      Ответить
      • Луа не нужна. И Janycz не нужен. И 1024-- тоже.
        Ответить
        • и тот кто меня минусует тоже не нужен
          Ответить

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