Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB

User Guide #06 - Ruby - массивы

arrays, Ruby, ruby lesson, ruby уроки, user guide, массивы, руководство пользователя

Вы можете создать массив из списка нескольких объектов, используя квадратные скобки ([]) и разделяя их запятыми. Массивы в Ruby могут совмещать различные типы объектов.

ruby> ary = [1, 2, "3"]
   [1, 2, "3"]

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

ruby> ary + ["foo", "bar"]
   [1, 2, "3", "foo", "bar"]
ruby> ary * 2
   [1, 2, "3", 1, 2, "3"]

Мы можем использовать числовые индексы для обозначения любой части массива.

ruby> ary[0]
   1
ruby> ary[0,2]
   [1, 2]
ruby> ary[0..1]
   [1, 2]
ruby> ary[-2]
   2
ruby> ary[-2,2]
   [2, "3"]
ruby> ary[-2..-1]
   [2, "3"]

(Отрицательный числовой индекс означает смещение с конца массива, вместо начала.)

Массивы могут быть преобразованы в строки и обратно из строк в массивы, используя методы join и split, соответственно:

ruby> str = ary.join(":")
   "1:2:3"
ruby> str.split(":")
   ["1", "2", "3"]

Хэши

Ассоциативный массив имеет элементы, доступ к которым осуществляется не через числовые индексы, а через ключи ( keys ), которые могут иметь определённый вес. Такие массивы называются Хэшами или словарями. В мире Ruby предпочтительнее называть их хэшами. Хэш может быть сконструирован с помощью фигурных скобок ({}). Вы можете использовать ключ для поиска чего-нибудь в хэше, как если бы использовали индекс для поиска чего-нибудь в массиве.

ruby> h = {1 => 2, "2" => "4"}
   {1=>2, "2"=>"4"}
ruby> h[1]
   2
ruby> h["2"]
   "4"
ruby> h[5]
   nil
ruby> h[5] = 10     # appending value
   10
ruby> h
   {5=>10, 1=>2, "2"=>"4"}
ruby> h.delete 1   # deleting value
   2
ruby> h[1]
   nil
ruby> h
   {5=>10, "2"=>"4"}

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
МК
13 января 2019 г. 20:35
Мария Канева

C++ - Тест 005. Структуры и Классы

  • Результат:91баллов,
  • Очки рейтинга8
МК
13 января 2019 г. 20:32
Мария Канева

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:70баллов,
  • Очки рейтинга1
МК
13 января 2019 г. 20:28
Мария Канева

C++ - Тест 003. Условия и циклы

  • Результат:78баллов,
  • Очки рейтинга2
Последние комментарии
I
16 января 2019 г. 8:06
IscanderChe

Заработало. Забыл model->select(); вписать.
I
16 января 2019 г. 8:02
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
16 января 2019 г. 7:51
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
16 января 2019 г. 7:43
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Сейчас обсуждают на форуме
16 января 2019 г. 16:43
Михаиллл

Здравствуйте.Сделал Sleep в приложении так: QApplication::processEvents(); QThread::sleep(TimeSleep); На компьютере работает прекрасно.Но на андройде работает не прав...
15 января 2019 г. 16:53
Михаиллл

Спасибо, заработало.Но выдало обычный текст без форатирования HTML.Придется искать дальше
15 января 2019 г. 12:52
BlinCT

Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.
ПБ
14 января 2019 г. 14:27
Павел Богдевич

Да
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы