Яuбy / Говнокод #4974 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
#!/usr/bin/ruby1.8

require 'mysql'
$KCODE = 'UTF8'

class Country
  @@country = Array.new
  @@insert_query = String.new
  @@db = Mysql

  def initialize(filename)
    file = File.open(filename)
    while !file.eof?
      value, index = file.readline.split(/\s+/u)
      @@country[index.to_i] = value.to_s
    end
    file.close
  end

  def database_connect
    @@db = Mysql.new('localhost','username','userpass','userdatabase')
    begin
      @@db.query("SET NAMES utf8")
    rescue
      puts @@db.error
    end
  end

  def create_query
    begin
      result = @@db.query("SELECT * FROM table")
    rescue
      puts @@db.error
    end
    result.each_hash do |field|
      @@country.each_index do |index|
      @@insert_query += "UPDATE table SET position = #{index} WHERE caption = '#{field['caption']}';" if @@country[index] == field['caption']
      end
    end
  end

  def execute_query
    begin
      @@insert_query.split(/;/u).each { |query| @@db.query(query) }
      puts "result: #{@@db.errno}" if @@db.errno
    rescue
      puts @@db.error
    end
  end

  def database_disconnect
    @@db.close
  end
end

cnt = Country.new('country.txt')
# connect to DB
cnt.database_connect
# construct query
cnt.create_query
# execute constructed query
cnt.execute_query
# close connect
cnt.database_disconnect

Ну можно же как-то сделать лучше?

Запостил: avastor avastor, (Updated )

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

  • Я пока это читал — думаю, выучил ruby. Спасибо 🙂
    Ответить
  • Быстрей комментируйте, пока komprenda не вернулся со школы и не въебал всем по минусу.
    Ответить
  • Ruby не изучал, но осуждаю. Не нравится первая строка (в которой комментарий для оболочки). Вдруг на машине не окажется ruby1.8, а окажется другая, но совместимая, версия?
    Ответить
    • Я думаю, это пустяк с #! можно выполнять как
      $ ruby country.rb
      и тогда будет учтен дефолтный интерпретатор, а если
      $ ./country.rb
      тогда уже тот что в #!

      Я уже заметил, что в строчку 31 нужно было указать
      result = @@db.query("SELECT `caption` FROM table")
      так как мне нужен только заголовок
      Ответить
    • Ебанутый у этого Ruby синтаксис какой-то, излишне избыточный, Python красивее
      Ответить
        • ??? может быть творожка подзалупного со сметанкой покушаешь?
          Ответить
        • хм, а ведь действительно пора внедрять воскресные школы на просторах засиженного школьниками совка. там специально подготовленный поп, вооруженный священным паникадилом и prist's staff +3 будет отвлекать из интернетов малолетних долбоебов рассказами о непорочных залётах и resurrectах и flood control

          crossposted to: orthodox.ru
          Ответить
          • судя по тому что в эрефии творится - православие головного мозга - наименьшее зло которым можно занять умы быдла. такие дела.
            Ответить
              • <throllmode>о бля. христоз головного мозга обнаружен.
                я в отличие от тебя моюсь раз в сутки, сраный ты гой</throllmode>

                по делу - я про засилие сектоебов в энтой рашке, которые спонсируются из-за бугра.
                Ответить

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8