На днях прошла очередная конференция Ruby Kaigi Чуть позже сделаю обзор, а пока зацепилась за это:
Матц (и 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