Интерполяция HTML-файла в Ruby - PullRequest
0 голосов
/ 30 сентября 2019

Я делаю Ruby-программу, которая читает файл HTML с тегом "# {}". вот содержимое страницы HTML:

<html>
<body>
<h1>#{"Hello, World!"}</h1>
</body>
</html>

, а вот мой код Ruby, который я использую:

file = File.open("Path/to/file", "r")
content = file.read
puts content.match(/./om)

как мне изменить код для интерполяции содержимого, чтобы#{} на веб-странице заменяется соответствующим значением?

Ответы [ 2 ]

3 голосов
/ 30 сентября 2019

Самый элегантный (и используемый по умолчанию) способ сделать это - использовать язык шаблонов. Ruby поставляется с ERb, который решит вашу проблему:

template.erb:

<html>
<body>
<h1><%=@greeting%></h1>
</body>
</html>
require 'erb'

template = File.read('path/to/template.erb')
@greeting = "Hola, mundo"
ERB.new(template).result(binding)
0 голосов
/ 30 сентября 2019
file = File.open("Path/to/file", "r")
content = file.read
puts content.gsub(/#{"Hello, World!"}/, "Hello there replaced")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...