LINUX.ORG.RU

История изменений

Исправление MKuznetsov, (текущая версия) :

Я попробую обьяснить. Мне нужно сначала прочитать файл. Я это делаю при помощи open read close. Затем я получаю переменную, в которой список строк. Нужно этот список распарсить, так чтобы остались строки (которые начинаются с букв rgb, потом цифрер и потом символ.) Ну и потом нужно получить эти строки в переменные, чтобы каждая строка соответствовала какой-то переменной. У меня затык на всех трех этапах.

set f [ open "файло" r ]
array set rgb {}
while { ! [ eof $f ] } {
   set s [ string trim [ gets $f ] ]
   if { $s == "" || [ string index $s 0 ] == "#" } {
      # skip empty and comments
      continue
   }
   set key [ lindex $s 0 ]
   if { [ regexp -expanded {^rgb\d+$} $s ] } {
      set rgb($key) [ lrange $s 1 end ]
   }
}
close $f
parray rgb

Исправление MKuznetsov, :

Я попробую обьяснить. Мне нужно сначала прочитать файл. Я это делаю при помощи open read close. Затем я получаю переменную, в которой список строк. Нужно этот список распарсить, так чтобы остались строки (которые начинаются с букв rgb, потом цифрер и потом символ.) Ну и потом нужно получить эти строки в переменные, чтобы каждая строка соответствовала какой-то переменной. У меня затык на всех трех этапах.

set f [ open "файло" r ]
array set rgb {}
while { ! [ eof $f ] } {
   set s [ string trim [ gets $f ] ]
   if { $s == "" || [ string index $s 0 ] == "#" } {
      # skip empty and comments
      continue
   }
   set key [ lindex $s 0 ]
   if { [ regexp -expanded {^rgb\d+$} ] $s} {
      set rgb($key) [ lrange $s 1 end ]
   }
}
close $f
parray rgb

Исходная версия MKuznetsov, :

Я попробую обьяснить. Мне нужно сначала прочитать файл. Я это делаю при помощи open read close. Затем я получаю переменную, в которой список строк. Нужно этот список распарсить, так чтобы остались строки (которые начинаются с букв rgb, потом цифрер и потом символ.) Ну и потом нужно получить эти строки в переменные, чтобы каждая строка соответствовала какой-то переменной. У меня затык на всех трех этапах.

set f [ open "файло" r ]
array set rgb {}
while { ! [ eof $f ] } {
   set s [ string trim [ gets $f ] ]
   if { $s == "" || [ string index $s 0 ] == "#" } {
      # skip empty and comments
      continue
   }
   set key [ lindex $s 0 ]
   if { [ regexp -expanded {^rgb\d+$} ] } {
      set rgb($key) [ lrange $s 1 end ]
   }
}
close $f
parray rgb