Чуть позже сделаю обзор, а пока зацепилась за это:
Матц (и Claude) сделали spinel 💎
Это AOT (ahead-of-time) compiler. Можно наконец-то делать бинарники из рубишных программ, пусть и с ограничениями.
Пользоваться можно так:
- ставите spinel (
git clone + make deps + make)- компилируете -
./spinel hello.rb- запускаете
./helloКол-во фич ограничено, так что надо думать, что используем )
Сейчас, конечно, это проще - можно попросить llm написать код с учётом ограничений, или адаптировать существующий.
Помимо примера из ридми попробовала хелло-ворд и простую прогу, которая выводит текст в рамке.
Программы такого плана работают, как-нибудь попробую адаптировать то, что посложнее )
Пример:
text = ""
if ARGV.length > 0
text = ARGV[0]
end
lines = [text]
width = 0
lines.each do |line|
len = line.length
if len > width
width = len
end
end
top = "┌" + ("─" * (width + 2)) + "┐"
bottom = "└" + ("─" * (width + 2)) + "┘"
puts top
lines.each do |line|
puts "│ #{line.ljust(width)} │"
end
puts bottom
Матц давно говорит о компиляции руби-кода, теперь проще двигаться в эту сторону. Посмотрим, что дальше 🍿
Поделитесь, если тоже попробуете 😉
#ruby@anna_codes
