@rubyschool

Страница 24 из 921
Any
17.01.2017
14:24:12
Если честно, то у PHP большое комьюнити, много фреймворков, уроков и много информации

Живёт PHP благодаря фреймворкам

Nikolai
17.01.2017
14:24:53
В RoR порог входа выше гораздо. Но при этом RoR-разработчик лучше понимает, как правильно написать приложение, и чаще всего застрахован от подхода тяп-ляп и готово

Потому что рельсы тяпляпства не терпят абсолютно

Google
Any
17.01.2017
14:36:15
Шутки про ПЭХЭПЭ

Fuzzy
17.01.2017
14:50:35
Не вижу руби

Но и питон сойдет

artem3321
17.01.2017
14:51:30
У рубистов кол-во девушек не поместилось на пикчу

Al`mir
17.01.2017
15:18:44
Смотрите:

Шас скину код

arr = []

while 2 + 2 == 4 print "Enter your favourite color (or Stop for exit): " color = gets.strip.capitalize if color == "Stop" puts arr exit else arr << color end end

Вывод нормально, все как надо каждый цвет на новую строку

А как изменить строку "puts arr" на "print arr"

Выводит в строку(что и должно быть), но уже в квадратных скобках, цвета идут через запятую и в кавычках

Надеюсь, понятно, попробуйте запустить

Nikolai
17.01.2017
15:21:17
Верно, потому что выводится весь массив

Google
Nikolai
17.01.2017
15:21:33
Ты хочешь цвета через запятую просто?

Al`mir
17.01.2017
15:21:49
Нет, я хочу без запятых в строку и без [ ]

Должно ведь так писать, print ведь только перенос строки убирает

Nikolai
17.01.2017
15:22:31
Попробуй puts arr.inspect

Al`mir
17.01.2017
15:23:11
А что значит inspect?

Nikolai
17.01.2017
15:23:28
Это оператор ruby

Он должен элементы массива в строку вывести

Al`mir
17.01.2017
15:24:31
Ну блин, вот если "puts arr" , то выводится примерно так:

цвет

цвет

цвет

цвет

Nikolai
17.01.2017
15:24:59
Нужно написать puts arr.inspect

Al`mir
17.01.2017
15:25:19
И все, а если "print arr" , то ["цвет", "цвет", "цвет"

]

Nikolai
17.01.2017
15:25:33
А если print arr.inspect?

Al`mir
17.01.2017
15:26:35
Результат не изменится, но в том то и дело, почему если написать "print arr" без метода inspect, то выводится так : ["цвет", "цвет", "цвет"]

Я же не задавал метод inspect

А если я хочу просто в строку вот так: "цвет" "цвет" "цвет"

Nikolai
17.01.2017
15:27:43
Есть один костыль

Google
Nikolai
17.01.2017
15:27:49
Цикл each do

Как дома буду, покажу

Скинь свой код на paste2.org

И пришли ссылку

Al`mir
17.01.2017
15:28:28
Лады, я надеюсь я понятно сформулировал вопрос свой

https://paste2.org/ICpgvpkV - 1 случай

https://paste2.org/hGbh3VaC - 2 cлучай

То есть смотри, во 2 случае мы просто заменили строку "puts arr" на "print arr".

Ведь puts отличается от print тем, что он просто переводит каждый раз на новую строку , так?

Ну, допустим так, если я что-то не упустил в курсах Романа, то так. В 1 случае у нас выводится:

Цвет Цвет Цвет Цвет

А во втором случае:

Vitaly
17.01.2017
15:34:56
Вот так можно в строчку вывести: ['green', 'yellow'].join(', ') => "green, yellow"

Al`mir
17.01.2017
15:35:01
["Цвет", "Цвет", "Цвет", "Цвет"]

Ну смотри, а ведь print просто не переводит строку в отличие от puts, значит изменений, кроме переводов строк не должно быть, а результат совсем другой, добавились [], запятые и " "

Почему так случилось?

Ты меня понимаешь?)

Ладно, забейте, не очень понятно объяснил видимо, поэтому не поняли

Vitaly
17.01.2017
15:40:52
Складываешь в массив - print выводит массив. У него особенность такая. А puts похоже перебирает элементы в массиве и выводит на новой строке каждый из элементов.

Al`mir
17.01.2017
15:41:44
Эта особенность print распространяется только на массивы?

Google
Vitaly
17.01.2017
15:42:22
print [{color: 'green'}, {color: 'yellow'}] => [{:color=>"green"}, {:color=>"yellow"}]

Dmitry
17.01.2017
15:44:11
Al`mir
17.01.2017
15:44:41
Ладно, всем спасибо

Dmitry
17.01.2017
15:46:36
http://stackoverflow.com/questions/5018633/what-is-the-difference-between-print-and-puts

Fuzzy
17.01.2017
15:46:51
Еще есть p

Просто p

Dmitry
17.01.2017
15:47:06
Еще есть p
это отладочный метод

Admin
ERROR: S client not available

Fuzzy
17.01.2017
15:47:18
Неявный вызов inspect

Да, это для обезжучивания :)

Al`mir
17.01.2017
15:48:46
Спасибо

Nikolai
17.01.2017
16:20:17
В общем, вот тебе вариант от Виталия https://paste2.org/aYNMAKcL

Max
17.01.2017
16:20:52
https://paste2.org/xUMH3FNW

Спасибо
вот. вывел, как ты хотел

т.е. в строчку все

Al`mir
17.01.2017
16:22:22
Я уже понял, как вывести в строку без " "; , ; [] )))Еще раз спасибо

Кстати, сам Роман в этой группе присутствует?

Max
17.01.2017
16:22:57
как-то был да

Aura
17.01.2017
16:23:11
Есть тут

Al`mir
17.01.2017
16:23:42
Ага, понятно

Google
Nikolai
17.01.2017
16:24:22
вот мой вариант https://paste2.org/sthftvyF

сразу скажу, у Виталия лучшен

*лучше

у меня быдло стайл

Max
17.01.2017
16:25:34
вот мой вариант https://paste2.org/sthftvyF
я точ так же сделал) ты как и я запятую пропустил))

1 в 1

Nikolai
17.01.2017
16:26:26
ну да

а если нужна будет запятая, то сразу возникнет проблема)

Max
17.01.2017
16:26:44
почему?

Nikolai
17.01.2017
16:27:05
потому что вывод будет таким: color1, color2, color3,

Max
17.01.2017
16:27:11
ну да

Nikolai
17.01.2017
16:27:14
как запятую в самом конце убрать?

Max
17.01.2017
16:27:19
он именно так же хотел

аа))

ну это можно устроить)

Nikolai
17.01.2017
16:27:49
не, конечно можно придумать ещё более черезжопный путь и написать код, который будет последний символ при выводе убирать

но проще сделать при помощи join

Max
17.01.2017
16:28:02
вывести все до n-1 эл-та + остаточек)

ич с запятой + последняя с точкой. только print "..." нужно переписать и все

Страница 24 из 921