Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 January 22

AK

Alexander Korolev in Ruby, Rails, Hanami | dry-rb
2.5.5 :006 > def k(x,y)
2.5.5 :007?>   puts(x + y) and return
2.5.5 :008?>   puts 'We are still here'
2.5.5 :009?>   end
=> :k
2.5.5 :010 > k(2,2)
4
We are still here
=> nil
источник

AK

Alexander Korolev in Ruby, Rails, Hanami | dry-rb
вот это правда не пойму почему так
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
Поменяй puts на p
источник

OA

Ortemy Alexandrovich in Ruby, Rails, Hanami | dry-rb
источник

NB

Nikita Batrak in Ruby, Rails, Hanami | dry-rb
Alexander Korolev
вот это правда не пойму почему так
Почитай о приоритете операторов в руби (в принципе полезно будет)
источник

AK

Alexander Korolev in Ruby, Rails, Hanami | dry-rb
Nikita Batrak
Поменяй puts на p
т.к puts возвращает nil значение второе значение даже не будет вычисляться в данном случае
источник

ВА

Віталій Адамков in Ruby, Rails, Hanami | dry-rb
Alexander Korolev
2.5.5 :006 > def k(x,y)
2.5.5 :007?>   puts(x + y) and return
2.5.5 :008?>   puts 'We are still here'
2.5.5 :009?>   end
=> :k
2.5.5 :010 > k(2,2)
4
We are still here
=> nil
puts(x + y) => nil, соответственно, ничего после and уже выполняться не будет, никакого return
источник

ВА

Віталій Адамков in Ruby, Rails, Hanami | dry-rb
>> def k(x, y)
>> puts(x + y) or return
>> puts 'We are still here'
>> end
=> :k
>> k(2, 2)
4
=> nil
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
ребята, привет. Как бы вы решили такую задачу -  на инпут поступает таск(task), который имеет current_time и period_work. и  также у нас есть определенный график работы - например с 8 до 19, а вторник и пятница выходной ну и еще кучка особенных случаев.
и надо узнать когда в рабочее время task завершится.

как бы вы решали такую задачу?
источник

AK

Alexander Kudrin in Ruby, Rails, Hanami | dry-rb
Karina
ребята, привет. Как бы вы решили такую задачу -  на инпут поступает таск(task), который имеет current_time и period_work. и  также у нас есть определенный график работы - например с 8 до 19, а вторник и пятница выходной ну и еще кучка особенных случаев.
и надо узнать когда в рабочее время task завершится.

как бы вы решали такую задачу?
dateperiod в postgres лучше чем набор datetime
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
да там неизвестно какой period или набор datetiem - таск может завершиться и через тысячу лет
источник

M

Mike in Ruby, Rails, Hanami | dry-rb
Karina
ребята, привет. Как бы вы решили такую задачу -  на инпут поступает таск(task), который имеет current_time и period_work. и  также у нас есть определенный график работы - например с 8 до 19, а вторник и пятница выходной ну и еще кучка особенных случаев.
и надо узнать когда в рабочее время task завершится.

как бы вы решали такую задачу?
current_time или все же started_at?
period_work — это время таски в часах?
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
Mike
current_time или все же started_at?
period_work — это время таски в часах?
абсолютно не важно
источник

M

Mike in Ruby, Rails, Hanami | dry-rb
Karina
абсолютно не важно
Ну от каренттайм оно будет всегда меняться, а от времени старта — нет.
Считай, как слоты по времени в каждом дне из расписания
источник

M

Mike in Ruby, Rails, Hanami | dry-rb
т.е. если у тебя время на выполнение таски не хватает в текущем дне, бери следующий день и от старта дня считай
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
Mike
т.е. если у тебя время на выполнение таски не хватает в текущем дне, бери следующий день и от старта дня считай
current_time - константа; проблема в том, что на вход может прийти current_time = 1 May 2020, period_work = 3000 Years
источник

M

Mike in Ruby, Rails, Hanami | dry-rb
Karina
current_time - константа; проблема в том, что на вход может прийти current_time = 1 May 2020, period_work = 3000 Years
Как curent_time может быть константой?)
Если это таска, то у тебя должны быть
created_at
started_at (может совпадать с созданием, но лучше разделить сразу)
est_work (в любых единицах)

Ок, в твоём случае current_time это время создания и начала таски.
Ну вот берешь и считаешь от времени свободные слоты, можешь топорно, можешь разными нормальными, гугли: алгоритмами
Timeslots algorithms
Scheduling algorithms
источник

K

Karina in Ruby, Rails, Hanami | dry-rb
не, задача чисто алгоритмисеская. curent_time - просто имя переменной(не функция). задача, в принципе, простая, это я туплю. Надо узнать сколько она занимает рабочих дней. Сложно будет вычислить минуты только
источник

M

Mike in Ruby, Rails, Hanami | dry-rb
Karina
не, задача чисто алгоритмисеская. curent_time - просто имя переменной(не функция). задача, в принципе, простая, это я туплю. Надо узнать сколько она занимает рабочих дней. Сложно будет вычислить минуты только
Если топорно и у тебя там реально могут быть годы, считай по большему ограничению, а потом двигайся в меньшую сторону с учётом точного расписания, чтобы цикл не был огромным)

period_work делишь на максимальное рабочее время, а дальше пересчитываешь с учётом ограничения расписания от ближайшей полученной даты
источник
2020 January 23

AA

Alexander Alyoshin in Ruby, Rails, Hanami | dry-rb
Alexander Alyoshin
Прироста производительности не будет толком или почему?
источник