Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > переменная не меняется


Автор: GrayCardinal 18.4.2019, 08:33
Хай всем.

ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
Linux debian 4.19.0-4-amd64 #1 SMP Debian 4.19.28-2 (2019-03-15) x86_64 GNU/Linux

1.slc
Цитата

method First.puts puts "Goodbye1"
        puts "Goodbye2"
        puts "Goodbye !"
method Second.exit puts "Do exit"
method Third.exit exit


Код

def read_slc fname
  lst = IO.readlines fname
  lst.each do |one|
    params = one.split(" ", 3)
      if params[0] == "method"
        last_method = params[1]
      elsif one[0] == "\t"
        if last_method
          puts last_method
        end
      end
    end
end

read_slc "./1.slc"

не входит в принципе в if last_method
Это только у меня так ?

Автор: Romikgy 18.4.2019, 09:29
Код

def read_slc fname
  lst = IO.readlines fname
  lst.each do |one|
    params = one.split(" ", 3)
      if params[0] == "method"
        $last_method = params[1]
      elsif one[0] == "\t"
        if $last_method
          puts $last_method
        end
      end
    end
end
read_slc "./1.slc"

Автор: GrayCardinal 18.4.2019, 09:34
Romikgy
Спасибо, блин, огромное !
Только вот вопрос $ - это же, по идее "глобальная" ?
Я пробовал в классе через "собаку" не получилось :(
Вообще - где курнуть по теме ?
Я 1.9 еще помню smile

Автор: GrayCardinal 18.4.2019, 10:04
Хи-хи.
запихал в инитиализ через собаку - все пашет smile
Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)