@rubylang

Страница 716 из 1684
Vitaly
29.11.2016
11:36:52
в чём логика?
ну производятся одни операции если even иначе иные

ⰿⰰⰾⱏ
29.11.2016
11:37:14
прямо так и нечитаемь?))

Vitaly
29.11.2016
11:37:22
по стилю какой код лучше

ок

Google
Vitaly
29.11.2016
11:38:48
вот вам пример оригинальный @format_string.each_with_index do |element, index| @result_string << (element.to_i * 2) if index.even? @result_string << element.to_i if index.odd? end @result_string = @result_string.reverse!.join("").split("").map{|x| x.to_i }.inject(0, :+)

реально не читаемый код так то гыгы

Сергей
29.11.2016
11:39:45
Гист пожалуйста

Vitaly
29.11.2016
11:40:02
подозреваю что ты прав

Сергей
29.11.2016
11:40:13
Да тут у тебя подход сам пахнет

ⰿⰰⰾⱏ
29.11.2016
11:40:21
@result_string << index.even? && element.to_i * 2 || element.to_i

а вообще да, надо все там ещё улучшать))

Сергей
29.11.2016
11:41:04
Vitaly
29.11.2016
11:41:40
ⰿⰰⰾⱏ
29.11.2016
11:41:48
Что это
это то, что у него внутри блока))

I
29.11.2016
11:42:25
each_with_index - и для каждого второго?

хех)

Google
Vitaly
29.11.2016
11:42:29
я понял что главная проблема это последняя строчка

I
29.11.2016
11:42:37
а each_slice(2) нельзя?)

Vitaly
29.11.2016
11:43:53
а each_slice(2) нельзя?)
там ведь нужно собрать массив из каждого элемента просто для каждого второго элемента преобразование в инт

поправил

I
29.11.2016
11:44:48
each_with_index.map не радует душу?)

Alex
29.11.2016
11:45:08
end.compact :D

Vitaly
29.11.2016
11:46:26
там каждый елемент преабразуется в инт но каждый четный дополнительно умножается на 2

I
29.11.2016
11:46:27
да и вообще там строку потом реверсят, склеивают и суммируют можно за один проход все говно сделать

Антон
29.11.2016
11:47:15
ладно, "перефразирую" код: 2 + 2 if index.even? 2 + 4 if index.odd? гыг
все ок кроме odd.even? я вот сломался тут

ⰿⰰⰾⱏ
29.11.2016
11:48:00
а вообще конечно, надо офункционалить надл малость, типа того: @format_string.map {|x| x.to_i }.with_index do |element, index| index.even? && element * 2 || element end.reverse.join("").split("").map{|x| x.to_i }.reduce(0, :+)

Vitaly
29.11.2016
11:48:39
kapkapbopoh
29.11.2016
11:50:17
А что надо сделать?

Антон
29.11.2016
11:50:27
index.even? ? element * 2 : element помоему кто-то опечатался

Vitaly
29.11.2016
11:50:29
ок но вопрос тогда такой еще - что делать с этой строкой? @result_string = @result_string.reverse!.join("").split("").map{|x| x.to_i }.inject(0, :+)

index.even? ? element * 2 : element помоему кто-то опечатался
точно, круто, спасибо. просто в реальном случае код длинне и запутанее

ну не нужно более читаемой сделать и разбить на методы?

Антон
29.11.2016
11:51:59
Vitaly
29.11.2016
11:52:35
а это задачка такая

Антон
29.11.2016
11:52:35
a == 2 && 'двойка' || 'не двойка' я бы не разрешил

Google
Vitaly
29.11.2016
11:52:59
задачка проверки кода определенным алгоритмом - алгоритм как бы такой

Антон
29.11.2016
11:54:26
2.3.0 :006 > %w(a b c).join("") => "abc" 2.3.0 :007 > %w(ab c).join("") => "abc"

.map{|x| x.to_i } эквивалентно map(&:to_i)

Vitaly
29.11.2016
11:55:24
гыгы

Антон
29.11.2016
11:56:22
а в джойне аргумент не нужен

Vitaly
29.11.2016
11:56:44
без .join("").split("") не работает =)

Антон
29.11.2016
11:56:48
а тесты написаны? а то щас зарефакторим а результатом будет говно

я имею в виду .join.split("")

Vitaly
29.11.2016
11:57:21
а тесты написаны? а то щас зарефакторим а результатом будет говно
еще нет я не дошел до такого уровня но писать тесты для этого кода намереваюсь

I
29.11.2016
11:57:21
split("") медленней chars, кстати

Admin
ERROR: S client not available

Антон
29.11.2016
11:57:59
I
29.11.2016
11:58:08
да и chars как-то понятней:)

Антон
29.11.2016
11:58:23
ну вот щас ты метод переписал на 90% как его тестировать?

у тебя есть ручная методика хотябы?

I
29.11.2016
11:58:52
пограничные условия еще было бы хорошо знать

Антон
29.11.2016
11:59:21
ну вот ты как щас оперделяешь что все работает?

Vitaly
29.11.2016
11:59:27
ааа

Google
Vitaly
29.11.2016
11:59:32
так ну да в консоле

Антон
29.11.2016
11:59:47
и на каких наборах данных ты проверяешь?

Vitaly
29.11.2016
12:00:39
так, ох, ладно, показать весь код?

Антон
29.11.2016
12:00:47
зачем?

как ты проверяешь в консольке что работает?

работа такая

Vitaly
29.11.2016
12:01:18
зачем?
format_string = ARGV.first.delete(" ").split("").reverse

Антон
29.11.2016
12:01:19
он жив

format_string = ARGV.first.delete(" ").split("").reverse
ну это как-бы самостоятельный код, он вроде как и должен работать

Andrey
29.11.2016
12:02:12
вы про амазоновского сотрудника или тут тоже такой кадр был?

Vitaly
29.11.2016
12:02:36
ну мне не показалось что Антон издевается - вроде как помогает

trickster
29.11.2016
12:03:09
николай рип

:(

Страница 716 из 1684