
pchellovod
19.04.2017
16:45:33
в теории)

Vladimir
19.04.2017
16:46:51
Да. Все круто. Но если учаток не из трех, а из четырех элементов состоит.
Пример. 1 2 3 4
В таком случае он посчитает эту последовательность как два участка: 1 2 3 и 2 3 4. А надо чтобы увидел как один

Al`mir
19.04.2017
17:18:05
Подскажите сайты с задачками на Руби
И еще, читал кто-нибудь эту книгу http://www.ozon.ru/context/detail/id/138275838/? Просто купить хочу, но боюсь разочароваться

Google

Tanya
19.04.2017
17:21:23

Al`mir
19.04.2017
17:21:51
Ок.

pchellovod
19.04.2017
17:41:36
будет сравнивать до тех пор, пока следующий элемент не станет меньше предыдущего
хоть сто элементов - будет монотонное возрастание и один участок
arr = [9,19,22,88,5,6,7,8,1,2,3,555,888,999,1,2,3,4]
count = 1
i = 0
arr.each do |x|
i = arr.index(x)
puts "index #{i}"
if arr[i] < arr[i + 1]
puts "still zone #{count}"
else
count += 1
puts "next #{count} zone"
end
end
puts count
накостылял, правда оно как-то криво работает, индекс криво передал в ич
и он где-то там посередине улетает
и нет проверки чтобы не складывало с последним элементом массива
за такое подсвечниками бьют, наверное)

Uber
19.04.2017
17:58:02
Ок.
там только маленький кусочек.Полной не завезли

Klim
19.04.2017
18:40:16
Есть идеи как решить задачку?
Дан целочисленный массив. Определить количество участков, на которых его элементы монотонно возрастают.
arr = [1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 5, 4, 3, 1, 1, 2, 3, 0, 7, 8]
x = 0
(0..arr.size-2).each do |index|
if arr[index] > arr[index-1] && arr[index] > arr[index+1]
x+=1
end
end
puts "Возрастающих участков: #{x}"

pchellovod
19.04.2017
18:50:45
arr = [1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 5, 4, 3, 1, 1, 2, 3, 0, 7, 8]
x = 0
(0..arr.size-2).each do |index|
if arr[index] > arr[index-1] && arr[index] > arr[index+1]
x+=1
end
end
puts "Возрастающих участков: #{x}"
на таком массиве не срабатывает
arr = [1, 2, 3, 4, 6, 7, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 9, 10 ,11, 12 , 1,2, 3, 4, 5, 6, 7]

Google

Vladimir
19.04.2017
18:57:04
arr = [1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 5, 4, 3, 1, 1, 2, 3, 0, 7, 8]
x = 0
(0..arr.size-2).each do |index|
if arr[index] > arr[index-1] && arr[index] > arr[index+1]
x+=1
end
end
puts "Возрастающих участков: #{x}"
Ну во первых цикл делает ошибку на первом элементе массива.
Т.к. сравнивая arr[index] и arr[index-1] это то же самое что сравнивать начало и конец массива. arr[0] и arr[-1].Это не нужно.
И основная проблема не решена.
Мой главный вопрос Как сделать так. Чтобы 1 2 3 4 5 6 он считает как один отрезок, а не как 4 отрезка.

Alex
19.04.2017
18:58:43
использовать вложенный цикл while

Klim
19.04.2017
18:59:51
да с нулем в диапазоне косяк. надо с 1 начинать.
у меня не считает за 4 отрезка. я пытался выбрать отсечение счетчика, но видно все равно где-то "падажжжи ебана" закралось.

Vladimir
19.04.2017
19:02:23

Klim
19.04.2017
19:02:55
думаю избыточно это.
короче, ломается счетчик, если последний участок возрастающий. можно костыльнуть проверкой: последний элемент > предпоследнего и добавить к счетчику 1.

pchellovod
19.04.2017
19:15:39
Можно и с нулевого. Просто условия доп. задавать
arr = [0, 1, 2, 3, 4, 6, 7, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 9, 10 ,11, 12, 0, 1, 2, 3, 4, 5, 6, 7]
count = 1
i = 0
arr.each do |x|
puts "index #{i}"
if arr[i] < arr[i + 1]
puts "still zone #{count}"
else
count += 1
puts "next #{count} zone"
end
i += 1
end
puts count
только надо ещё проверку сделать, чтоб не вылетал при сравнении с последним элементом массива

Klim
19.04.2017
19:25:29
# Издание исправленное и дополненное
arr = [1, 2, 3, 4, 6, 7, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 , 1,2, 3]
x = 0
(1..arr.size-2).each do |index|
if arr[index] > arr[index-1] && arr[index] > arr[index+1]
x+=1
end
end
# Давай, кумир, добей меня танцем
if arr[arr.size-1] > arr[arr.size-2]
x+=1
end
puts "Возрастающих участков: #{x}"

pchellovod
19.04.2017
21:22:55
можно через each_with_index, передавая в блок элемент и его индекс

Klim
19.04.2017
21:29:19
это был мой первый вариант, но там надо было доп проверки делать на выход за размер массива. с рэнджем проще.

Aleksey
20.04.2017
06:58:22
Доброе всем утро, я по поводу репозитория, может быть чисто теоретически у кого-то когда-то дойдут руки (может даже у меня) сделать в описании каждого урока еще и тайминг, то будет просто космос

Al`mir
20.04.2017
06:58:36
Подскажите сайты с задачками на Руби

Aleksey
20.04.2017
06:58:49
забыл какую-то тему, заглянул быстро в содержание, минута секунда и ты смотришь нужную тему))

Александр
20.04.2017
07:09:58
еще есть http://hackerrank.com

Al`mir
20.04.2017
07:18:42
thx

Vladimir
20.04.2017
07:55:29

Radzhab
20.04.2017
08:13:59
@vitalyliber снова по твою душу)) как вообще посмотреть что творится в самом докере/? почему не стартуют релься

Google

Radzhab
20.04.2017
08:14:00
ы

Vitaly
20.04.2017
08:33:39
Если делаешь docker-compoe up, то видны логи
Среди них и буде тпричина того, почему рельсы не стартуют

Radzhab
20.04.2017
08:39:07

Vitaly
20.04.2017
08:39:42
Они вполне себе успешно запустились.)

Radzhab
20.04.2017
08:39:53
он на локалхосте запустился)! блин
а как его запустить удаленно

Vitaly
20.04.2017
08:40:38
ты должен зайти на хост docker-machine и там уже выполнять команды

Radzhab
20.04.2017
08:41:43
елки-палки) получается Installing Docker Machine
я должен был на удаленном серваке ставить?

Vitaly
20.04.2017
08:41:55
нет

Radzhab
20.04.2017
08:42:23
я все пакеты ставил на локальную машины - все пакеты описание в статье

Vitaly
20.04.2017
08:42:47
docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key ~/.ssh/id_rsa \
summer
generic-ip - это ip твоего сервера
summer - просто название хоста, можешь любое сделать

Radzhab
20.04.2017
08:43:28
это я сделал - он как я понимаю создал докер машину на удаленном сервере

Vitaly
20.04.2017
08:43:34
Docker сам подключится и настроится

Radzhab
20.04.2017
08:43:46
вот по умолчанию изменилось название сервера на summer

Vitaly
20.04.2017
08:44:15
Шикарно, теперь можешь команды выполнять по сборке image и запуску контейнера

Al`mir
20.04.2017
08:44:26

Google

Al`mir
20.04.2017
08:44:27
Что это такое? В каждом посту на stackoverflow

Vitaly
20.04.2017
08:45:09
Если порт 3000 на сервере открыт, то увидишь свой проект

Radzhab
20.04.2017
08:45:11
это реклама)

Al`mir
20.04.2017
08:45:36
Ясн

Radzhab
20.04.2017
08:45:37
docker-compose build app
docker-compose -f docker-compose.prod.yml up -d app
эти две операции так?

Vitaly
20.04.2017
08:46:03
да

Radzhab
20.04.2017
08:49:05

Vitaly
20.04.2017
08:49:35
docker-compos ps выполни
Посмотри, что они запущены
потом пиши свой ip:3000 в строке браузера

Radzhab
20.04.2017
08:52:21

Vitaly
20.04.2017
08:53:49
просто набери docker-compose ps
а ip:3000 в строке браузера

Radzhab
20.04.2017
08:54:22
в браузере набирал - не видит

Vitaly
20.04.2017
08:54:50
у тебя приложение лежит - статус Exit 1

Radzhab
20.04.2017
08:55:13
хм, на локалхосте пашет - а там нет. В чем интересно могут быть траблы
на сервере 16,04 убунту - мб в этом траблы?
точнее 16,10

Google

Radzhab
20.04.2017
09:03:31
как я понимаю на моей стороне все гут - тогда будем переустанавливать сервак. мб что то в нем

Nikolai
20.04.2017
09:07:45
Здравствуйте. Подскажите, как можно оптимизировать конструкцию if then else при помощи хеш-таблицы?
Ну то есть, у меня есть набор значений

Alex
20.04.2017
09:08:26
сделать хэш и перебирать?

Nikolai
20.04.2017
09:08:32
Да
Я так уже делал, просто не могу найти у себя в архивах кода

Vitaliy
20.04.2017
09:16:54
def alert_class_for_flash(flash_type)
{
success: 'alert-success',
error: 'alert-danger',
alert: 'alert-warning',
notice: 'alert-info'
}[flash_type.to_sym] || flash_type.to_s
end

Svetlana
20.04.2017
09:24:33

Al`mir
20.04.2017
09:47:02
Вопрос, как выделить определенный текст на каком-либо сайте, чтобы при последующих заходах на этот сайт этот текст оставался выделенным?
К примеру, есть статья на Хабре, и мне надо выделить кое-какие строки, чтобы я не забыл
Ну или не выделить, а пометить

Александр
20.04.2017
10:05:06

Дмитрий
20.04.2017
10:19:44

Radzhab
20.04.2017
10:34:59
@vitalyliber а что делает операция eval $(docker-machine env summer?)

Vitaly
20.04.2017
10:35:45
выполни docker-machine env summer и тебе выпадет лист операций

Al`mir
20.04.2017
10:38:50
Спасибо
http://zurb.com/playground/javascript-annotation-plugin

Radzhab
20.04.2017
10:43:49
@vitalyliber это чудо!!!)) заработало
небольшая просьба к статье - чуток добавить пару примечаний чтобы люди не путались как я )))

Vitaly
20.04.2017
10:48:04
Напиши мне, что поправить и я внесу правки.)
Круть!

Vladimir
20.04.2017
12:24:55
Добрый день.
Кто-нибудь gem pry использует? Реально полезный гем или фуфло?