vault backup: 2026-05-18 21:11:52
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-05-17
|
||||
title: Ruby - основы языка
|
||||
---
|
||||
|
||||
# Ruby - основы языка
|
||||
|
||||
Пусть Ruby и объектно-ориентированный язык, можно с ним работать, как с обычным процедурным языком.
|
||||
|
||||
```ruby
|
||||
puts "Hello World!"
|
||||
```
|
||||
|
||||
Команда `puts` выводит что-угодно в консоль.
|
||||
|
||||
- В конце строк ставить знаки препинания не нужно
|
||||
- Пробелы в начале строки ничего не значит, никакой табуляции
|
||||
- Если нужно написать несколько команд в одной строке, то `;` заменит перенос строки по смыслу
|
||||
|
||||
## Комментарии
|
||||
- Два вида комментариев:
|
||||
- Однострочный - символ `#`
|
||||
- Многострочный - конструкция =begin =end
|
||||
|
||||
## Типы данных
|
||||
```ruby
|
||||
puts "Hello".class -> String
|
||||
puts true.class -> TrueClass
|
||||
puts 5.class -> Integer
|
||||
puts 6.4.class -> Float
|
||||
putl nil.class -> NilClass
|
||||
```
|
||||
|
||||
### Именование
|
||||
- Переменные называются с маленькой буквы
|
||||
- Классы, обратно, именуются с большой буквы
|
||||
- Нельзя называть классы и переменные, используя ключевые слова языка
|
||||
|
||||
### Преобразование типов
|
||||
- Явное (с помощью функций)
|
||||
- `to_i` - к целому числу (отсечение дробной части для *float*)
|
||||
- `to_s` - к строке
|
||||
- `to_f` - к вещественному числу
|
||||
- Неявное (преобразование в ходе работы программы) - авто преобразование при мат.операциях (int + float = float)
|
||||
![[Pasted image 20260517175400.png]]
|
||||
![[Pasted image 20260517175655.png]]
|
||||
|
||||
## Управляющие конструкции
|
||||
|
||||
В Ruby есть три основных оператора:
|
||||
- if - без ветвления
|
||||
`if a > 0 <action> end`
|
||||
- if-elsif-else
|
||||
- unless - сработает, если условие ложно
|
||||
- case
|
||||
![[Pasted image 20260517181450.png]]
|
||||
|
||||
### Операторы цикла
|
||||
1) loop - бесконечный цикл (с условиями выхода break)
|
||||
2) while - цикл с условием выполнения
|
||||
3) next - прерывание шага цикла и моментальный переход на следующий шаг
|
||||
4) until - цикл, пока условие ложно
|
||||
5) redo - прерывание текущего шага и повторение его же
|
||||
6) for - итератор перебора перечислимого объекта
|
||||
- самый распространенный вариант - диапазоны:
|
||||
- `n..m` - все целые от `n` до `m` *включительно*
|
||||
- `n...m` - все числа не включая `m`
|
||||
|
||||
> ```ruby
|
||||
> x, r = x.divmod
|
||||
> ```
|
||||
Reference in New Issue
Block a user