Size: a a a

2019 December 02

RM

R M in RubyRush
Ну вот скажем файл

Блаблабла #{переменная} блабла. 



Я прочел строку из файла, могу как то использовать эту переменную?
источник

RM

R M in RubyRush
Короче есть конфиг для коммутаторов, в котором менять нужно только определенные строчки, писанины много особенно с вланами под каждый порт. Там по 48 портов. Вот и думаю как сделать но чтобы конфиг не держать в файле программы
источник

RM

R M in RubyRush
Короче я все усложнил. Понял сам что реквайрить это то что нужно с расширением рб. А внутри переменная со строкой.
источник

Э

Эдем in RubyRush
Непонятно ничего. Можно ли читать из файла что-то, чтоб потом использовать в приложении? Можно
источник

E

Eugene in RubyRush
можно в YML-файлы вынести переменные, а в ERB их вставлять, например

будет у вас два файла типа:

# config.yml
smtp_port: 25
http_port: 80
...

# template.erb
TURN ON PORT #{smtp_port}
TURN ON PORT #{http_port}
...


дальше запускаете свой скрипт, генерируется третий файл, где переменные из первого вставлены во второй:

# result.txt
TURN ON PORT 25
TURN ON PORT 80
источник

E

Eugene in RubyRush
(такой скрипт строк на 25, наверное, выйдет, все библиотеки стандартные)
источник

RM

R M in RubyRush
хорошо, как сделать чтобы
 #
interface Ethernet0/0/#{port_count}
undo enable snmp trap updown
port hybrid pvid vlan #{vlan}
undo port hybrid vlan 1
port hybrid untagged vlan #{vlan} #{vlan}
loopback-detect recovery-time 120
loopback-detect enable
loopback-detect action shutdown
stp disable
stp bpdu-filter enable
multicast-source-deny vlan #{vlan}
broadcast-suppression 1


определенное количество раз вызвать этот кусок текста и чтобы в нем при каждом следующем вызове переменные увеличивались?
переменные должна программа спрашивать у пользователя, их начальные значения, соответственно и количество прогонов этого текста. Я пока остановился на том чтобы вызывать каждый кусок такой текста как экземпляр класса и переменные будут переменными класса
источник

RM

R M in RubyRush
у меня пришла мысль что можно циклом давать новое имя экземпляру каждый раз и вызывать экземпляр новый, я не знаю получится ли так, может есть проще вариант?
источник

V

Vadym in RubyRush
Добрый день народ, нужна помощь, написал алгоритм Луна, на некоторых картах норм работает, а на некоторых выдает что карта не валидна, может кто протестить на своей карте ? нужны лишь 16 цифр
и фидбек
https://repl.it/@FrozenCrash/Alg-Luna
источник

Э

Эдем in RubyRush
Сложноватая логика. Делал в своё время вот так:
https://stackoverflow.com/a/54708100/10608621
источник

V

Vadym in RubyRush
ага понял в чем была проблема в знаке больше или равно =)
источник

V

Vadym in RubyRush
Эдем
Сложноватая логика. Делал в своё время вот так:
https://stackoverflow.com/a/54708100/10608621
ну мой мозг еще не привык к вот такому вот (&:to_i) и к инжектам
источник

V

Vadym in RubyRush
а так просмотрел, интересна реализация, спасибо
источник

h

hwe in RubyRush
R M
можно по руби вопрос?
Мне нужно ввести переменные в строку, чтобы менять ее значение в зависимости от ввода пользователя. Есть какая то возможность сделать это прочитывая эту строку из файла а не задействовать ее в коде программы? Оперировать с прочитанными строками из файла как с частью кода? Или нет?или только Создать просто файл с расширением рб и реквайрить его?
"можно по руби вопрос?"  😂😂😂👍
источник

A

Aenyeweddien in RubyRush
R M
можно по руби вопрос?
Мне нужно ввести переменные в строку, чтобы менять ее значение в зависимости от ввода пользователя. Есть какая то возможность сделать это прочитывая эту строку из файла а не задействовать ее в коде программы? Оперировать с прочитанными строками из файла как с частью кода? Или нет?или только Создать просто файл с расширением рб и реквайрить его?
есть один видео урок из курса лекций одного Романа))
там про метапрограммирование  целый урок
и как раз там что-то про это было
источник

N

Ni in RubyRush
R M
хорошо, как сделать чтобы
 #
interface Ethernet0/0/#{port_count}
undo enable snmp trap updown
port hybrid pvid vlan #{vlan}
undo port hybrid vlan 1
port hybrid untagged vlan #{vlan} #{vlan}
loopback-detect recovery-time 120
loopback-detect enable
loopback-detect action shutdown
stp disable
stp bpdu-filter enable
multicast-source-deny vlan #{vlan}
broadcast-suppression 1


определенное количество раз вызвать этот кусок текста и чтобы в нем при каждом следующем вызове переменные увеличивались?
переменные должна программа спрашивать у пользователя, их начальные значения, соответственно и количество прогонов этого текста. Я пока остановился на том чтобы вызывать каждый кусок такой текста как экземпляр класса и переменные будут переменными класса
этот текст можно сохранить в файле, переменные хранить в памяти и обновлять после ввода пользователем.

переменные в строки можно подставить, например, вот так

"sample #{value}" % { value: 5 }

=> "sample 5"
источник

RM

R M in RubyRush
Ni
этот текст можно сохранить в файле, переменные хранить в памяти и обновлять после ввода пользователем.

переменные в строки можно подставить, например, вот так

"sample #{value}" % { value: 5 }

=> "sample 5"
ну а поподробнее? если сохранить его строкой, как сделать чтобы переменные вызывались с него из #{} конструкций?
источник

N

Ni in RubyRush
R M
ну а поподробнее? если сохранить его строкой, как сделать чтобы переменные вызывались с него из #{} конструкций?
# sample.txt
value = %{value}

# sample.rb
File.read('sample.txt') % { value: 5 }
=> "value = 5"

сохраняете весь текст в файле (а лучше в структурированном формате вроде JSON или YAML) и заменяете переменные в нужных местах примерно таким способом
источник

RM

R M in RubyRush
источник

RM

R M in RubyRush
короче сидел тупил почем зря
источник