- 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
def properties_file2hash(_property_file, _link_hash=nil)
r_hash = Hash.new
if _property_file && FileTest::exist?(_property_file)
f = File::open(_property_file,'r')
begin
_lines = f.readlines
_lines.each{|_line|
_strip_line = _line.strip
if (_strip_line.length > 0)&&(_strip_line[0,1]!='#')
var_plat = _line.split('::')
if var_plat.length > 1
if (RUBY_PLATFORM.include?(var_plat[0]))
_line = var_plat[1]
var_plat[2..-1].collect{|x| _line=_line+'::'+x} if var_plat.length > 2
else
_line = ''
end
end
var = _line.split('=')
if var.length > 1
_value = var[1].strip
var[2..-1].collect{|x| _value=_value+'='+x} if var.length > 2
if _link_hash
_value = resolve_link(_value, _link_hash)
end
r_hash[var[0].strip]=_value
end
end
}
ensure
f.close unless f.nil?
end
return r_hash
end
Реальный кусок... Весь код проги(не моей)... ТАКОЙ.
guest 26.06.2009 18:27 # 0
guest 11.03.2010 12:00 # −0.4
Desktop 24.04.2024 17:34 # 0
guest6 24.04.2024 18:19 # 0
1
guest6 24.04.2024 19:28 # 0
guest6 24.04.2024 20:53 # 0
Рассмотим типичный package.
Тут мы видим класс с двумя методами. Или, точнее говоря, модуль с двумя функциями, которые могут стать классом, если некоторый хеш с полями этого метода освятить (bless) и привязать к этому модулю-пакету. Такие модули-пакеты можно объяединить в пакет-пакет.
Я понятно объясняю, я надеюсь?
Так вот единица в конце позволяет при загрузке этого файла заэвалиуроваться в TRUE, и таким образом не упасть, потому что если при загрузке модуля-пакета вы получаете FALSe, то происходит ошибка.
Как видите, код на перл всегда выглядит логично
guest 11.08.2009 12:26 # −0.4
guest 11.08.2009 14:17 # +1.2
Этот метод следует разбить на 2-3 более мелких, убрать _ из названий переменных и избавиться от трети ненужных переменных
DenDL 11.08.2009 15:41 # 0
inkanus-gray 24.05.2016 23:05 # 0
guest 13.08.2009 14:18 # 0
eveel 13.08.2009 18:09 # 0
eveel 13.08.2009 18:09 # 0
guest 14.11.2009 19:43 # 0
inkanus-gray 24.05.2016 23:06 # 0
gost 25.05.2016 00:01 # 0
inkanus-gray 25.05.2016 00:02 # 0
guest6 24.04.2024 21:32 # 0
guest6 24.04.2024 21:26 # 0
guesto 25.05.2016 00:03 # 0
wvxvw 25.05.2016 00:17 # +2
3_14dar 25.05.2016 04:16 # 0
guest6 24.04.2024 20:48 # 0
guest6 25.04.2024 01:22 # 0
Oleg_quadro 10.09.2009 18:35 # −1.2
guest 08.12.2009 13:29 # +1.2
guest6 24.04.2024 21:31 # 0
guest6 14.06.2023 02:14 # 0
guest 05.01.2010 12:06 # 0
guest6 24.04.2024 23:38 # 0
guest6 25.04.2024 01:29 # 0