@proRuby

Страница 493 из 1594
Alex
23.03.2017
11:30:06
return [] unless phone.any?

ojab
23.03.2017
11:32:04
и чем это лучше if phones.none?

Alex
23.03.2017
11:32:45
потому что в моем случае мы подразумеваем что чаще всего у нас не будет телефонов

в твоем случае мы подразумеваем что у нас иногда не может быть телефонов.

Google
ojab
23.03.2017
11:33:32
а как другие поймут что ты там подразумеваешь?

Alex
23.03.2017
11:33:45
по написанию, не?

ojab
23.03.2017
11:33:54
не

Alex
23.03.2017
11:33:59
unless это редкое исключение, нет?

ojab
23.03.2017
11:34:19
не

Eugene
23.03.2017
11:34:34
и чем это лучше if phones.none?
Тем, что задавать положительный ответ лучше, чем отрицательный

Надеюсь, понятно выразился

Alex
23.03.2017
11:34:49


не?

меня например ооочень unless радует

Eugene
23.03.2017
11:35:28
меня например ооочень unless радует
главное не увлекаться и не использовать его блочное написание

Alex
23.03.2017
11:36:34
да, блочное как правило зло воще.

ojab
23.03.2017
11:36:56
не?
"кроме случаев когда телефоны есть" и "в случае если телефонов нет" не несут абсолютно никакой информации о вероятности

Google
Alex
23.03.2017
11:37:09
лолшто

ты на практике не знаешь как у тебя чаще будет?

я вот например в большинстве случаев могу прикинуть как часто у меня исключение будет срабатывать.

Плюс меня коребит от if !phones

unless phones как то лучше воспринимается

плюс мне как то проще когда есть условие return [] unless phones.any? Значит дальше точно удет phones.any? а с if none думать приходится.

Это все субъективные вещи.

Oleg
23.03.2017
11:40:18
unless торт

Ruslan
23.03.2017
11:40:45
код должен быть как можно проще и очевиднее, если код заставляет задуматься других членов команды или независимых опытных людей, значит это плохой код.. и не важно, что тебе удобнее воспринимать `if` или `unless`

Eugene
23.03.2017
11:40:59
Вы из-за такой фигни спорите :)

if ... none? норм

и unless норм

Они оба не ужасны, и это главное

Zufar @Zuf
23.03.2017
11:41:29
лучше язык с картинки распознайте!

Zufar @Zuf
23.03.2017
11:45:34
загадка не дает покоя

Плюшка
23.03.2017
12:12:59
Olga
23.03.2017
12:12:59
2 апреля в Санкт Петербурге будет проводиться Crossover hiring tournament – это возможность за 1 день получить работу с зарплатой $100000 в год, которая позволит вам трудиться из любого уголка земного шара! Этапы турнира будут в себя включать: тесты — на логику, на знание английского и технические испытания интервью на английском С собой необходимо иметь ноутбук для выполнения тестовых заданий. Конкурс будет на следующие позиции: Software Engineering Manager (Java или Ruby или .Net). Technical Product Manager Регистрация и подробности: https://goo.gl/5FWocK

Google
Lupsick
23.03.2017
12:45:46
надо банить чуханов из кроссовера

Egor
23.03.2017
12:46:36
Это HR’ы новые способы обработки масс осваивают, или что?

т.е. «Нам надоело, что вы не отвечаете на наши тупые письма. Так что вот вам супер-пупер-мега состязание, давайте-ка сами хайритесь»

Olga
23.03.2017
13:23:49
уже обсуждали это вроде здесь, кстати
Александр, привет! Уже одно мероприятие было проведено в Москве (возможно видели ранее инфо), сейчас ивент будет в Питере

Это HR’ы новые способы обработки масс осваивают, или что?
Егор, рада буду пообщаться и ответить на вопросы)

Egor
23.03.2017
13:25:14
Спасибо, но у меня нет вопрсов )

Silent Bob
23.03.2017
14:17:38
подскажите, есть ли тру вей: мне надо получить из строки массив с двумя дупликатами этой строки

из "string" в ["string", "string"]

kolas
23.03.2017
14:18:45
нафиг над такими мелочами думать )

делай в лоб

Silent Bob
23.03.2017
14:22:33
["string"] * 2

ну да, просто все

Alexander
23.03.2017
14:48:22
["string"] * 2
WARNING [5] pry(main)> a = ["string"] * 2 => ["string", "string"] [6] pry(main)> a[0] << 'lol' => "stringlol" [7] pry(main)> a => ["stringlol", "stringlol"] не играйся в руби так

Alexander
23.03.2017
14:49:14
[8] pry(main)> a = Array.new(2, "string") => ["string", "string"] [9] pry(main)> a[0] << 'lol' => "stringlol" [10] pry(main)> a => ["stringlol", "stringlol"] аналогично ща будет норм способ

[11] pry(main)> a = Array.new(2) { "string" } => ["string", "string"] [12] pry(main)> a[0] << 'lol' => "stringlol" [13] pry(main)> a => ["stringlol", "string"] читай доку: http://ruby-doc.org/core-2.4.0/Array.html

Alexander
23.03.2017
14:51:59
спасибо! вот он, тру вей
безопасный, да) нужно внимательно относиться к таким вещам, как присваивание и копипаста объектов. помни, в руби всё — объект если он мутабельный — есть опасность объебаться с числами, буленом, символами и подобным полегче

Google
Oleg
23.03.2017
14:56:18
Передаются по ссылке значит... хм... есть о чем подумать...

А есть кейс где это нужно? С умножением на 2, но где ты юзаешь это для дела?

Именно когда передается по ссылке

Alexander
23.03.2017
14:58:40
Oleg
23.03.2017
14:58:42
Любопытна задача где нужно массив так умножать тогда

Вот оно что...

Alexander
23.03.2017
14:59:13
я ж говорю: мутабельность) но есть немутабельные объекты в руби

Admin
ERROR: S client not available

Oleg
23.03.2017
15:00:33
А строки все по ссылке передаются?

Или только вот в таких вот кейсах?

Надо будет поизучать вопрос примитивами в руби, думал что строки тоже примитивы ?

Alexander
23.03.2017
15:03:36
А строки все по ссылке передаются?
все всегда. но две "явно объявленные" строки — разные. например: [14] pry(main)> a, b = "string", "string" => ["string", "string"] [15] pry(main)> a == b => true [16] pry(main)> a.eql? b => true [17] pry(main)> a.equal? b => false [18] pry(main)> a.object_id => 46998002556480 [19] pry(main)> b.object_id => 46998002556460

Надо будет поизучать вопрос примитивами в руби, думал что строки тоже примитивы ?
не, ты чего, строки никогда не были примитивным типом, ещё со времён си. это ж как массив по сути. вот символы — да, но в руби нет символов (один символ когда)

Oleg
23.03.2017
15:04:30
Ну это да, это как два пустых объекта и прочее - то что они выглядят как утка и крякают как утка не значит что они одна и та же утка ?

Не во всех языках строки не примитивы

Oleg
23.03.2017
15:05:14
JS например

Привык уже к этому, и в руби начал относится к строкам как к примитивам

Вижу что зря, ну хорошо, понимание что это объект тот же - ставит всё на свои места

Google
Alexander
23.03.2017
15:07:33
но === не проходит, да

Oleg
23.03.2017
15:08:07
Через нью это не строка в обычном виде

Alexander
23.03.2017
15:08:14
но 'string'.contructor есть

там вообще жесть запутанная

Oleg
23.03.2017
15:09:18
Через нью собственно никто и не создает. А когда ты вызываешь метод у примитива - оно под капотом оборачивает уже в объект, тот же String, вызывает метод и возвращает результат. Но примитива сама остается не тронута.

Собственно в конструктор new String ты и отправил примитив ?

Так или иначе - главное не забывать что у нас в Ruby строки это объекты и будет всё хорошо

Egor
23.03.2017
16:20:35
Вопрос знатокам - можно ли написать сложное веб приложение, ипользуя Sinatra?

Eugene
23.03.2017
16:20:49
Можно

Но с рельсами будет проще

Egor
23.03.2017
16:24:35
сильно проще?

Eugene
23.03.2017
16:26:02
Приведи пример того, что ты подразумеваешь под "сложным приложением"?

Vladislav
23.03.2017
16:26:13
TODOLIST

Alexander
23.03.2017
16:28:33
Вопрос знатокам - можно ли написать сложное веб приложение, ипользуя Sinatra?
не советую. уколешься об отсутствие контроллеров

Alexander
23.03.2017
17:45:46
напишет свои
Я писал, так себе удовольствие и внешний вид

Lupsick
23.03.2017
18:49:37
если оно SPA то еще лучше

Страница 493 из 1594