English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой главе мы представим основные типы данных Ruby.
Ruby поддерживает основные типы данных, включая Number, String, Ranges, Symbols, а также особые значения true, false и nil, а также два важных данных структуры — Array и Hash.
Целые числа делятся на два типа, если они содержат до 31 бита (четыре байта), то это Fixnum пример. Если больше, то это Bignum пример.
Целые числа варьируются от -230 до 230-1, в этом диапазоне целые числа являются классом Fixnum объекта, когда значение целого больше или равно 2 в 30-й степени ( -262 до 262-1), 自动转换为 Bignum 类型。
Вы можете использовать необязательный префикс перед числом, необязательный индекс базы (0 соответствует восьмеричной, 0x соответствует шестнадцатеричной, 0b соответствует двоичной), за которым следует последовательность цифр. Подчеркивающие знаки в строке чисел игнорируются.
Вы можете получить целое значение ASCII-символа или целое значение последовательности символов, обозначенной вопросительным знаком.
123 # Fixnum 十进制 1_234 # Fixnum 带有下划线的十进制 -500 # 负的 Fixnum 0377 # 八进制 0xff # 十六进制 0b1011 # 二进制 "a".ord # "a" 的字符编码 ?\n # Код кода новой строки (0x0a) 12345678901234567890 # Большие числа #Целые числа Integer. Вот несколько литералов целых чисел #Литerral (литерал): значения, числа, bool-значения, строки и т.д., видимые в коде, называются литералами #Как, например, 0, 1_000_000, 0xa и т.д. a1=0 #Целые числа с разделителем тысяч a2=1_000_000 #Другие системы счисления a3=0xa puts a1,a2 puts a3 #puts print всегда печатают символы на экран, где puts возвращает символы новой строки =begin Это комментарий, называемый: вхождением документации аналогично C#/**/ =end
Ruby поддерживает числа с плавающей запятой. Это числа с десятичной точкой. Числа с плавающей запятой являются объектами класса Float является объектом, и может быть любым из следующих.
123.4 # Значение с плавающей запятой 1.0e6 # Форма записи научной нотации 4E20 # Не обязателен 4e+20 # Символ перед индексом #Тип float f1=0.0 f2=2.1 f3=1000000.1 puts f3
Операторы арифметических действий: +-*/; оператор показателя **
Показатель не обязательно должен быть целым числом, например
#Арифметические операции с показателями puts 2**(1/4)#Деление 1 на 4 равно 0, затем 2 в степени 0 равно 1 puts 16**(1/4.0)#Деление 1 на 4.0 равно 0.25 (четверть), затем берем四次ную корень
Ruby-строка, простыми словами, это последовательность из 8 байт, они являются объектами класса String.
Строки, помеченные двойными кавычками, позволяют заменять и использовать символы обратной косой черты, а строки, помеченные одинарными кавычками, не позволяют заменять и позволяют использовать только два символа обратной косой черты \\ и \'.
#!/usr/bin/ruby -w puts 'escape using \\\"'; puts 'That\'s right';
Это произведет следующий результат:
escape using "\" That's right
Вы можете использовать последовательность #{ expr } замените значение любой Ruby-выражения строкой. Здесь expr может быть любой Ruby-выражением.
#!/usr/bin/ruby -w puts "умножение : #{24*60*60}";
Это произведет следующий результат:
умножение : 86400
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
Результат вывода:
Ruby Ruby,ok
В таблице ниже перечислены обратные символы, поддерживаемые Ruby:
Символ | Представленный символ |
---|---|
\n | Перенос строки (0x0a) |
\r | Возврат каретки (0x0d) |
\f | Страничка (0x0c) |
\b | Клавиша Backspace (0x08) |
\a | Сигнал Бэлл (0x07) |
\e | Эскап-символ (0x1b) |
\s | Пробел (0x20) |
\nnn | Октальная запись (n является 0-7) |
\xnn | Шестнадцатеричная запись (n является 0-9, a-f или A-F) |
\cx, \C-x | Control-x |
\M-x | Meta-x (c | 0x80) |
\M-\C-x | Meta-Control-x |
\x | символ x |
Для получения дополнительной информации о Ruby строке, пожалуйста, посмотрите Ruby строка (String).
Лiteral массива определяется в квадратных скобках [] с разделителями запятыми и поддерживает определение диапазонов.
(1) доступ к элементам массива через индекс []
(2) вставка, удаление и замена элементов через операции присваивания
(3) объединение и удаление элементов через символы +, -, и的出现 нового набора
(4) добавление элементов в исходные данные через символ <<
(5) повторение элементов массива через символ *
(6) операции объединения и пересечения через символы | и & (обратите внимание на порядок)
#!/usr/bin/ruby ary = ["fred", 10, 3.14, "Это строка", "последний элемент",] ary.each do |i| puts i end
Это произведет следующий результат:
fred 10 3.14 Это строка последний элемент
Для получения дополнительной информации о Ruby массиве, пожалуйста, посмотрите Ruby массив (Array).
Ruby хэш представляет собой последовательность пар ключ/значение, размещенных в фигурных скобках, где ключ и значение разделены запятой и символом =>. Запятая в конце будет пропущена.
#!/usr/bin/ruby hsh = colors = { "red" => 0xf00, "green" => 0x0f0, "blue" => 0x00f } hsh.each do |key, value| print key, " ", value, "\n" end
Это произведет следующий результат:
красный равен 3840 зеленый равен 240 голубой равен 15
Для получения дополнительной информации о Ruby хэше, пожалуйста, посмотрите Ruby хэш (Hash).
Область представляет собой интервал.
Область представлена установкой начального значения и конечного значения. Область может быть создана с помощью s..e и s...e, или с помощью Range.new.
Используя .. для создания области, она начинается от начального значения и до конечного значения (включая конечное значение). Используя ... для создания области, она начинается от начального значения и до конечного значения (не включая конечное значение). Когда область используется как итератор, она возвращает каждый значение из последовательности.
Область (1..5) означает, что она содержит значения 1, 2, 3, 4, 5, а область (1...5) означает, что она содержит значения 1, 2, 3, 4 .
#!/usr/bin/ruby (10..15).each do |n| print n, ' ' end
Это произведет следующий результат:
10 11 12 13 14 15
Чтобы узнать больше о деталях области Ruby, пожалуйста, посмотрите Область (Range) Ruby.