- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 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
VASMAN 19.12.2010 03:37 # +5
FadedInto 19.12.2010 12:46 # +4
VASMAN 19.12.2010 03:42 # +11
brainstorm 19.12.2010 13:57 # +4
inkanus-gray 19.12.2010 04:21 # 0
avastor 19.12.2010 11:45 # 0
$ ruby country.rb
и тогда будет учтен дефолтный интерпретатор, а если
$ ./country.rb
тогда уже тот что в #!
Я уже заметил, что в строчку 31 нужно было указать
result = @@db.query("SELECT `caption` FROM table")
так как мне нужен только заголовок
komprenda 19.12.2010 12:06 # −10
Мартин 19.12.2010 12:39 # +3
komprenda 19.12.2010 12:56 # −10
Akira 19.12.2010 13:00 # +4
bugmenot 19.12.2010 13:35 # +6
crossposted to: orthodox.ru
brainstorm 19.12.2010 13:58 # +3
komprenda 19.12.2010 15:03 # −7
komprenda 19.12.2010 15:21 # −3
brainstorm 19.12.2010 15:21 # +2
я в отличие от тебя моюсь раз в сутки, сраный ты гой</throllmode>
по делу - я про засилие сектоебов в энтой рашке, которые спонсируются из-за бугра.
komprenda 19.12.2010 15:23 # −5
brainstorm 19.12.2010 15:26 # +1
komprenda 19.12.2010 15:31 # −4
Познакомимся поближе?
gegMOPO4 19.12.2010 22:04 # 0
akostrikov 22.07.2013 12:20 # 0
Зачем писать такое на Ruby?