Архив метки: Ruby

Что означает DO в Ruby?

Ruby — это невероятный язык программирования, в котором есть современные функции и инструменты для большинства сред разработки. У Ruby есть одна мощная функция, о которой часто забывают: блоки .

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

Мы начнем с основного синтаксиса, а затем обсудим такие функции, как yield, которые могут напугать новых пользователей Ruby.

 

Что такое блоки Ruby?

Как и в других языках программирования, блок или закрытие — это анонимная функция, которую вы заключаете в ключевые слова do и end для встроенных блоков.

Блоки позволяют группировать блок кода в отдельные компоненты, которые можно передавать во время вызова метода в качестве параметров.

В Ruby есть два способа определения блока: первый — использовать ключевое слово do..end, второй — использовать пару фигурных скобок.

Блок Do..end в основном используется при определении блока кода, охватывающего несколько строк, а фигурные скобки {} используются при определении блока кода, охватывающего одну строку.

Вы передаете аргументы блока между парой вертикальных черт | |

СОВЕТ
Независимо от того, используете ли вы однострочный или многострочный блок, функциональные возможности не меняются. Однако для удобства чтения используйте фигурные скобки для однострочного блока и конец для многострочного блока.

 

Базовый пример

Ниже приведены два простых примера блока Ruby, в одном из которых используются фигурные скобки, а в другом — do..end.

# single line - {}

['Java', 'C', 'C++'].each { |i| puts i}



# multi-line -> do..end

['Java', 'C', 'C++'].each do |i|

puts i

end

 

Оба приведенных выше примера дают похожие результаты:

  • Java
  • C
  • C ++

В приведенном выше примере блоки ruby ​​применяются в простейшей форме: мы передаем блок в каждый метод объекта массива. Передайте аргументы блока внутри пары вертикальных черт; в приведенном выше примере аргумент — i. Наконец, мы выводим функциональность блока внутри тела блока (в этом примере — put).

 

Понимание ключевого слова Yield в Ruby

Вы можете использовать блоки Ruby внутри стандартного метода. Функциональность для выполнения этого действия обеспечивается ключевым словом yield.

Давайте подробно обсудим ключевое слово yield.

 

Что такое yield в Ruby?

Ключевое слово yield в Ruby позволяет вызывать определенный блок внутри метода Ruby.

 

Как это работает

Давайте рассмотрим пример, который поможет нам понять, как работает ключевое слово yield. Рассмотрим простой метод Ruby, показанный ниже:

def hello

puts "Привет!"

end

 

Приведенный выше пример представляет собой простой метод Ruby, который выводит «Привет!».

Если мы хотим придать программе большую гибкость, мы можем разрешить пользователю передавать аргумент во время вызова метода.

Следовательно, мы можем закодировать метод как:

def hello(name)

puts "Привет, " + name

end

hello("Russia")

 

Во втором примере у нас есть небольшая гибкость, поскольку мы можем передать любое имя методу в качестве аргумента.

Мы можем расширить это еще больше, используя блок Ruby. Когда мы передаем блок внутри метода, он будет выполнен и вернет результаты.

 

Определение метода доходности

Чтобы создать метод, принимающий блок, мы используем ключевое слово yield. Общий синтаксис следующий:

def hello

yield

end

 

После определения мы можем вызвать метод и передать блок кода. Метод выполнит код и вернет результат.

 

Передача блока Ruby в метод

Мы можем передать блок в метод, используя синтаксис блока. Например, мы можем вызвать вышеуказанный метод с синтаксисом как:

hello {puts "Hello world" }

 

Пока метод содержит ключевое слово yield, вы можете передать любой блок кода и выполнить его.

Примечание
После определения ключевого слова yield внутри метода вы ДОЛЖНЫ передать блок при вызове метода. В противном случае вы получите ошибку «Блокировка не задана (yield)».

 

Пример 2

Возьмем другой пример:

def hello

puts "before yield."

yield

puts "after yield."

end

hello {puts "I yield"}

 

В приведенном выше примере показано, как работает выполнение метода с использованием yield. Вывод программы ниже:

before yield

I am yield

after yield

Аргументы блока Ruby

Ruby позволяет передавать аргументы блоку Ruby. Аргументы блока определены в блоке yield и служат параметрами блока.

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

def hello

yield("Andrey Ex", 23)

end

hello { |name, age| puts "Hello #{name}, you are #{age} years old"}

 

Параметры, определенные внутри блока, имеют локальную область видимости и доступны только в контексте блока.

Следовательно, вы получите неопределенную переменную, используемую вне области блока.

 

Пример 3

Функциональность блока не меняется на однолинейных или многострочных блоках. Мы можем проиллюстрировать это на примере ниже:

def area

yield(7)

end

area do

puts "площадь круга #{7 * 3.14159}cm2"

end

 

Результат из приведенного выше примера:

Площадь круга 21.99113cm2

 

Это показывает, что как многострочные, так и однострочные блоки, функциональность остается прежней.

 

Явные блоки

В предыдущих примерах мы определили блоки как неявные. Однако мы также можем описать их как явные.

Явные блоки означают, что мы назначаем имя списку параметров метода.

def example(&block)

block.call

end

example {puts "Explicit block example" }

 

Вы передаете имя блока внутри после амперсанда. Используя имя блока, вы можете передать сохраненный блок другому методу.

 

Обработка ошибок блока

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

Метод возвращает логическое значение true, если yield доступен, и false, если в противном случае.

Рассмотрим простой пример ниже:

def hello

if block_given?

yield

else

puts "Nothing happened...[ERROR]"

end

end

 

Если мы вызовем метод с требуемым значением yield, результат будет:

hello {puts "Hello there!"}

Hello there!

 

С другой стороны, вызов метода без yield выполнит блок else как:

hello

Nothing happened...[ERROR]

 

Используя значение из block_given? , вы можете реализовать логику обработки ошибок, когда нет значения yield.

 

Заключение

В этой статье мы обсудили блоки Ruby, что они собой представляют, как они работают и как использовать их в своих проектах.



2021-11-05T20:28:20
Ruby

Ruby. Обратная строка

Строки — это фундаментальный строительный блок в программировании, и практически невозможно представить функциональную программу, не использующую строки.

В этой статье будут рассмотрены различные способы перевернуть строку в языке программирования Ruby.

 

Метод 1: Reverse

Самый простой способ перевернуть строку в Ruby — использовать встроенный метод реверса. Строка — это массив символов в последовательном порядке. Следовательно, мы можем использовать обратный метод, чтобы получить элементы входной строки в обратном порядке.

Например:

str = "Привет, мир!"

puts str.reverse

 

Пример выше должен вернуть «Привет, мир!» задом наперед:

!рим ,тевирП

 

Обратный метод не влияет на исходную строку; он возвращает копию только в обратном порядке.

Чтобы повлиять на исходную строку, мы можем использовать обратное! метод.

str = "Привет, мир!".reverse!

puts str

Метод 2: цикл

Мы также можем использовать цикл для переворота строки. В таком случае мы перебираем символы в строке и повторно применяем их к новой строке в обратном порядке.

Рассмотрим следующий пример:

src = "Привет, мир!"

rev = ''

for i in 1..src.length

puts src[i]

rev += src[src.length - i]

end

puts rev

 

Примечание
Вы можете игнорировать строку «put src [i]». Его цель — проиллюстрировать, как работает код.

 

Вы заметите, что результат аналогичен обратной функции.

!рим ,тевирП

Метод 3: обратное слово

Предположим, вы хотите перевернуть слово вместо одного символа? В таком сценарии мы можем разделить предоставленную строку и перевернуть каждое слово.

Взгляните на пример ниже:

word = "это полное предложение"

word = word.split(" ").reverse!.join(" ")

puts word

 

В приведенном выше примере мы разбиваем предложение на несколько слов (используя пробелы). Затем мы переворачиваем каждое слово и снова соединяем их.

Результат выглядит следующим образом:

предложение полное это

Метод 4: инъекция

Другой метод, который мы можем использовать для переворота строки, — это использовать метод inject. Он работает аналогично сокращению, и многие люди считают его псевдонимом.

Начнем с создания массива из указанной строки с помощью метода chars:

"Привет, мир!".chars

 

Когда у нас есть массив символов, мы можем вызвать метод inject.

puts "Привет, мир!".chars.inject {|x, y| y + x}

 

Результирующее значение — это переданная строка в обратном порядке.

 

Заключение

В этой статье рассматриваются различные методы, которые вы можете реализовать для переворота строки в Ruby. Не стесняйтесь исследовать больше или создавать свои собственные функции.



2021-11-03T17:37:29
Ruby

Условие IF в Ruby

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

В этом руководстве мы сосредоточимся на том, как реализовать операторы условий на языке программирования Ruby. Используя условные выражения Ruby, мы можем проверить наличие определенного условия и выполнить указанное действие в зависимости от результата.

Самый простой способ принять единственное решение в Ruby — реализовать оператор if.

 

Заявления Ruby If

Оператор if принимает условие и оценивает, истинно оно или ложно. Если это правда, он выполняет решение.

Общий синтаксис оператора if в Ruby:

if condition

// do this

end

 

Давайте воспользуемся примером, чтобы показать, как реализовать приведенный выше синтаксис. Например, предположим, что мы продаем билеты в кино только лицам 18 лет и старше, мы можем сделать следующее:

age = 20

if age >= 18

print "Билеты в кино стоят 10 баксов!"

end

 

В нашем примере код возвращает инструкцию:

«Билеты в кино стоят 10 долларов». Начнем с определения переменной, в которой хранится возраст. Затем мы реализуем оператор if, который проверяет, больше ли возраст или равен 18. Если это правда, мы продаем билет в кино; если нет, ничего не делайте.

 

Условные выражения Ruby

В приведенном выше примере вы заметите, что мы используем оператор> = для проверки условий. Ruby предоставляет вам несколько условных операторов для оценки различных условий. Эти операторы включают:










Символ оператораФункциональность
>Оператор больше проверяет, больше ли значение или выражение слева, чем справа
<Оператор меньше чем проверяет, меньше ли значение или выражение слева, чем одно справа
==Оператор равенства проверяет, равны ли наборы значений
>=Больше или равно
<=Меньше или равно
!=Не равно и проверяет, не равно ли значение слева значению справа.

 

Отрицание условия

В Ruby мы можем отменить условие, добавив восклицательный знак (!) Перед условием. Это изменит результат условия.

Например:

i = 10

if !(i < 3)

print "Привет, я отрицаю!"

end

 

Мы начинаем с определения значения i как 10. Затем мы проверяем, меньше ли 10, чем 3, что дает ложное значение. Однако из-за (!) Условие становится истинным, что приводит к печати строки.

 

Заявление If Else

Чтобы реализовать множественную логику, основанную на разных условиях, мы можем использовать операторы If Else. В этом случае, если условие не выполняется, сделайте это.

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

Давайте реализуем логику, чтобы сообщить пользователю, что ему должно быть не менее 18 лет.

age = 20

if age >= 18

print "Билеты в кино стоят 10 баксов!"

else

print "Вам должно быть не менее 18 лет!"

end

 

Если мы запустим приведенный выше код, мы должны получить:

> ruby conditionals.rb

"Билеты в кино стоят 10 баксов!"

 

Затем давайте изменим возраст до 18 лет:

age = 17 

if age >= 18 

print "Билеты в кино стоят 10 баксов!" 

else 

print "Вам должно быть не менее 18 лет!" 

end

 

Как только мы запустим код, мы должны получить инструкцию:

> ruby conditionals.rb

"Вам должно быть не менее 18 лет!"

Заявление If…Elsif…Else

До этого момента мы проверили только два утверждения. Если возраст больше или равен 18, продайте билет в кино или откажитесь от этого. Однако что, если мы хотим ввести разные цены для разных возрастных категорий?

В этом случае мы можем использовать операторы if..elsif… else. Общий синтаксис для этого:

if (condition)

# do

elsif condition2

# do

elsif condition3

# do

elsif conditionN

# do

else

#do

 

Давайте реализуем вышеуказанную логику в нашем примере билета в кино. В этом примере у нас будет четыре возрастных скобки, как показано в приведенном ниже коде:

Ввод «Введите свой возраст:»

age = gets

age = age.to_i

if age <= 17

puts "Вы не достигли совершеннолетия для покупки билета"

elsif age > 18 && age <= 24

puts "Билеты стоят 10 баксов!"

elsif age > 24 && age < 40

puts "Билеты стоят 15 баксов!"

else

puts "Билеты стоят 20 баксов!"

end

 

В приведенном выше примере мы начинаем с того, что спрашиваем у пользователя его возраст. Затем мы преобразуем ввод в целое число, чтобы выполнить логическое сравнение значения.

Наконец, мы создаем возрастные рамки, оценивая возраст и стоимость билетов.

Вот пример вывода:

Введите свой возраст:

20

Билеты стоят 10 баксов!

Введите свой возраст:

5

Вы не достигли совершеннолетия для покупки билета

Введите свой возраст:

50

Билеты стоят 20 баксов!

Ruby If в одну строку

Если нам нужно проверить только одно условие в Ruby, мы можем реализовать однострочный формат следующим образом:

age = 18

puts "Билеты стоят 10 баксов" if age >= 18

 

Мы можем выразить сказанное выше так: «Если возраст больше или равен 18, выведите следующее».

 

Заключение

В этой статье мы обсудили, как реализовать условия if в Ruby.



2021-08-25T11:09:01
Ruby

Как создавать классы и объекты в Ruby

Ruby — это мощный язык программирования, предлагающий современные функции и инструменты. Одной из таких функций является поддержка объектно-ориентированного программирования, включая полиморфизм, инкапсуляции, абстракцию, наследование и многое другое.

В этой статье будет обсуждаться ключевая концепция объектно-ориентированного программирования: объект и классы.

 

Что такое классы Ruby и объекты O?

Начнем с класса.

Класс — это схема для создания объектов и предоставления реализаций значений, включая переменные, методы, атрибуты и многое другое.

С другой стороны, объект — это единственный экземпляр класса. Возьмем, к примеру, машину. Мы можем создать класс, который описывает чертежи сборки автомобиля. Атрибуты класса могут быть всем, что есть у автомобилей:

  1. Двигатель
  2. Дверь
  3. Модель
  4. Производитель

 

Класс автомобиля также может включать методы, которые представляют собой действия, которые могут выполнять объекты класса. Примером может служить то, что автомобиль может зажигаться, ускоряться, останавливаться и т. д.

Классы очень удобны, когда вам нужно создать похожие объекты только с различными аспектами. Вместо объявления блока кода для автомобиля Mercedes, Bugatti, Tesla и т. д. Вы можете создать один класс, на который ссылается каждая модель.

 

Как создать класс и объект в Ruby

Ruby — невероятный язык, который также очень прост в использовании. Он предоставляет простой синтаксис для создания класса.

Общий синтаксис:

class ClassName



# БЛОК

end

Мы начинаем с вызова ключевого слова class, за которым следует имя класса, который мы хотим создать. Имя класса начинается с заглавной буквы и использует CamelCase для следующих имен.

Внутри класса мы определяем все переменные и методы, которые потребуются классу.

Мы закрываем код класса с помощью ключевого слова end.

 

Пример

Давайте посмотрим на примере класса автомобиля.

class Car

def initialize(engine, name, year)

@engine = engine

@name = name

@year = year

end

def ignite

puts "Зажигание!"

end

def stop

puts "Остановка транспортного средства"

end

def accelerate(target_speed)

@target_speed = target_speed

puts "Автомобиль разгоняется до #{target_speed} m/h"

end

end



f = Car.new("a108d", "F A-Class", 2010 )

g = Car.new("00Ca", "Zero G-8", 2011)

h = Car.new("777d", "G Potato", 2022)

В приведенном выше коде мы начинаем с определения класса автомобиля. Внутри класса мы определяем метод инициализации, особый тип метода в Ruby, используемый для создания вызываемого экземпляра класса с необходимыми аргументами. Метод инициализации действует как конструктор для new.

Внутри метода инициализации мы передаем двигатель, имя и год выпуска автомобиля. Затем мы выполняем несколько действий с автомобилем, включая зажигание, ускорение и остановку.

Наконец, мы создаем экземпляр класса автомобиля. Мы называем это экземпляром, потому что мы создаем экземпляр класса.

Мы передаем параметры методу инициализации, который создает три уникальных типа автомобилей.

Использование методов класса

В приведенном выше примере мы создаем класс с различными методами, но еще не использовали их. Чтобы использовать метод, мы просто вводим имя объекта, за которым следует точка и имя метода.

Синтаксис:

my_object.method

Возьмем предыдущий пример; Чтобы зажечь автомобиль f, мы можем:

// Ссылка на код выше

f = Car.new("a108d", "F A-Class", 2010 )

g = Car.new("00Ca", "Zero G-8", 2011)

h = Car.new("777d", "G Potato", 2022)

f.ignite

Если мы запустим приведенный выше код, мы увидим, что автомобиль успешно загорелся, напечатав строку «Зажигание!»

Каждая часть метода инициализации работает как команда, определяющая действия, которые может выполнять объект, созданный из класса.

 

Получите исходный класс

Каждый тип в Ruby — это объект класса. Вы можете просмотреть, из какого класса создан объект, с помощью метода класса.

Например:

class Car

def initialize(engine, name, year)

@engine = engine

@name = name

@year = year

end

def ignite

puts "Зажигание!"

end

def stop

puts "Остановка транспортного средства"

end

def accelerate(target_speed)

@target_speed = target_speed

puts "Автомобиль разгоняется до #{target_speed} m/h"

end

end



f = Car.new("a108d", "F A-Class", 2010 )



puts "hello".class

puts 10.class

puts 11.023.class

puts f.class

После выполнения кода мы должны увидеть классы для строки, целого числа, числа с плавающей запятой и автомобиля как:

String

Integer

Float

Car

Заключение

В этой статье мы изучили основы объектно-ориентированного программирования в Ruby с использованием классов и объектов. Приятно отметить, что ООП — обширная тема. Ознакомьтесь с другими ресурсами, чтобы узнать больше.



2021-08-23T23:03:53
Ruby

Как установить Ruby в Ubuntu 20.04

Ruby является одним из самых популярных языков программирования на 2020 год. Он имеет элегантный синтаксис и ориентирован на простоту и производительность. Ruby — это язык мощного фреймворка Ruby on Rails.

В этой статье мы покажем вам три разных способа установки Ruby в Ubuntu 20.04:

  • Из стандартных репозиториев Ubuntu. Это самый простой способ установить Ruby в Ubuntu, и его должно быть достаточно для большинства случаев использования. Версия включена в репозиториях Ubuntu является 2.7.0.
  • Использование Rbenv. Скрипт, позволяющий установить несколько версий Ruby на одном компьютере.
  • Использование RVM (ruby enVironment manager). Более тяжелый и более функциональный скрипт, который позволяет устанавливать, управлять и работать с несколькими версиями Ruby.

Выберите способ установки, подходящий для вашей среды. Если вы разрабатываете приложения Ruby и работаете с несколькими средами Ruby, предпочтительным способом является установка Ruby с использованием Rbenv или RVM.

Если вы не уверены, какую версию Ruby установить, обратитесь к документации приложения, которое вы собираетесь развернуть.

 

Установка Ruby из репозитория Ubuntu

Самый простой способ установить Ruby в Ubuntu — использовать менеджер пакетов apt. На момент написания, версия в репозиториях Ubuntu была 2.7.0, которая не всегда может быть последней стабильной версией.

Установка довольно проста. Выполните следующие команды как пользователь root или пользователь с привилегиями sudo, чтобы обновить индекс пакета и установить Ruby:

sudo apt update

sudo apt install ruby-full

 

После завершения проверьте установку, напечатав версию Ruby:

ruby --version

 

Вывод будет выглядеть примерно так:

ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]

 

Ваша версия Ruby может отличаться от показанной выше.

Все! Вы успешно установили Ruby на свой компьютер с Ubuntu и можете начать его использовать.

 

Установка Ruby с использованием Rbenv

Rbenv — это легкий инструмент командной строки, который позволяет легко переключать версии Ruby.

По умолчанию rbenv не поддерживает установку Ruby. Мы будем использовать ruby-build для установки Ruby. Он доступен как отдельная программа и как плагин для rbenv.

Скрипт ruby-build устанавливает Ruby из источника. Чтобы иметь возможность собрать Ruby, установите необходимые библиотеки и компиляторы:

sudo apt update

sudo apt install git curl autoconf bison build-essential     libssl-dev libyaml-dev libreadline6-dev zlib1g-dev     libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev

 

Самый простой способ установить инструмент rbenv — использовать сценарий оболочки установки. Запустите команду curl или загрузите и выполните скрипт:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash

 

Сценарий клонирует репозитории rbenv и ruby-build из GitHub в каталог ~/.rbenv.

Сценарий установщика также вызывает другой сценарий, который проверяет установку. Вывод скрипта будет выглядеть примерно так:

Running doctor script to verify installation...

Checking for `rbenv' in PATH: not found

  You seem to have rbenv installed in `/home/vagrant/.rbenv/bin', but that

  directory is not present in PATH. Please add it to PATH by configuring

  your `~/.bashrc', `~/.zshrc', or `~/.config/fish/config.fish'.


 

Чтобы начать использовать rbenv, вам нужно добавить $HOME/.rbenv/bin в переменную PATH.

  • Если вы используете Bash:
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrcecho 'eval "$(rbenv init -)"' >> ~/.bashrcsource ~/.bashrc

  • Если вы используете Zsh:
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(rbenv init -)"' >> ~/.zshrcsource ~/.zshrc

 

Запустите команду rbenv -v, чтобы убедиться, что установка прошла успешно:

rbenv -v

rbenv 1.1.2-30-gc879cb0


 

Чтобы получить список всех версий Ruby, которые можно установить rbenv, введите:

rbenv install -l

 

Например, чтобы установить Ruby версии 2.7.1 и установить ее как глобальную версию, введите:

rbenv install 2.7.1rbenv global 2.7.1

 

Rbenv работает, вставляя директорию с именем shims на передней панели PATH. Этот каталог содержит скрипты (shims), чья задача — перехватывать команды Ruby и выполнять соответствующие двоичные файлы.

Rbenv позволяет установить оболочку, локальную и глобальную версии Ruby:

  • Версия оболочки используется в текущей оболочке и имеет наивысший приоритет. Это можно определить, установив переменную среды RBENV_VERSION с помощью команды rbenv shell <ruby-version>.
  • Локальная версия устанавливается для каждого каталога. Эта версия написана в файле ruby-version. Когда вы запускаете скрипт Ruby, rbenv ищет файл в текущем и всех родительских каталогах. Он использует версию Ruby, сохраненную в первом найденном файле. Чтобы установить локальную версию, перейдите в каталог и выполните команду rbenv local <ruby-version>.
  • Глобальная версия используется во всех оболочках, если не установлена оболочка или локальная версия. Используйте rbenv global <ruby-version> для установки глобальной версии.

Не используйте sudo для установки гемов, когда Ruby управляется с помощью rbenv. Каждая версия Ruby установлена в каталоге ~/.rbenv/versions и доступна для записи пользователем.

 

Установка Ruby с использованием RVM

RVM — это инструмент командной строки, который можно использовать для установки, управления и работы с несколькими средами Ruby.

Установите зависимости, необходимые для сборки Ruby из исходного кода:

sudo apt update

sudo apt install curl g++ gcc autoconf automake bison libc6-dev         libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool         libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev         libreadline-dev libssl-dev

 

Выполните следующие команды, чтобы добавить ключ GPG и установить RVM:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable

 

Чтобы начать использовать RVM, загрузите переменные среды сценария с помощью команды source:

source ~/.rvm/scripts/rvm

 

Чтобы получить список всех версий Ruby, которые можно установить с помощью этого инструмента, введите:

rvm list known

 

Установите последнюю стабильную версию Ruby с RVM и установите ее в качестве версии по умолчанию:

rvm install rubyrvm --default use ruby

 

Убедитесь, что Ruby был правильно установлен, напечатав номер версии:

ruby -v

ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]

 

Если вы хотите установить определенную версию Ruby, введите команды ниже. Замените x.x.x на версию Ruby, которую вы хотите установить:

rvm install ruby-x.x.xrvm --default use ruby-x.x.x

 

Чтобы переключиться на другую версию, не устанавливая ее в качестве Ruby по умолчанию, введите:

rvm use ruby-x.x.x

 

Для получения дополнительной информации о том, как управлять установками Ruby с помощью RVM, посетите их страницу документации.

 

Вывод

Мы показали вам три различных способа установки Ruby в Ubuntu 20.04. Выбор метода зависит от ваших требований и предпочтений. Несмотря на то, что установка упакованной версии из репозитория Ubuntu проще, скрипты Rbenv и RVM дают вам больше гибкости в использовании разных версий Ruby для каждого пользователя.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь комментировать ниже.



2020-05-25T14:27:29
Ruby

Установка Ruby на CentOS 7

Понадобилось установить Ruby на сервер с CentOS 7 для выполнения некоторых скриптов. Из стандартных репозиториев устанавливалась очень старая версия, которая мне не подходила. Пришлось собирать последнюю из исходников. Как обычно, не обошлось без подводных камней, о которых расскажу.

Читать