
ojab
13.07.2016
14:15:43
что не так?

Mikhail
13.07.2016
14:16:21
все так
все есть обж

Google

Mikhail
13.07.2016
14:17:07
2.3.1 :003 > Proc.is_a?(Object)
=> true
2.3.1 :004 >
2.3.1 :001 > Proc.class
=> Class

Andrey
13.07.2016
14:17:37
блок это не объект, Proc это объект

ojab
13.07.2016
14:18:13
гм

Aldar
13.07.2016
14:18:20
какой смысл всё делать объектом? чтобы потом объект манки патчить?)

ojab
13.07.2016
14:18:31
с таким же успехом я могу сказать что "string" это не объект, String это объект

Mikhail
13.07.2016
14:18:55
блок обьект класса Прок

Иван
13.07.2016
14:20:06
сам по себе блок кода вроде не объект все же

trickster
13.07.2016
14:20:12
блок не объект лол

Иван
13.07.2016
14:20:25
он тсановится объектом при &block

ojab
13.07.2016
14:20:34
угуугу
def xxx(*)
end
аргументы это не объект

Google

Mikhail
13.07.2016
14:20:54
а как ты вне аргумента блок заюзаешь?

ojab
13.07.2016
14:21:04
для этого не обязательно указывать аргумент
def xxx
p block_given?
yield
end
но это аналог def xxx(*)

Mikhail
13.07.2016
14:21:45
он будет вне метода же работать

ojab
13.07.2016
14:21:56
implicit передача вместо explicit

Mikhail
13.07.2016
14:22:27
➜ ~ irb
2.2.0 :001 > yield
LocalJumpError: no block given (yield)
from (irb):1
from /Users/Caperatel/.rvm/rubies/ruby-2.2.0/bin/irb:11:in `<main>'
2.2.0 :002 >
ваааа
давай про блок еще раз
почему он не обьект

Иван
13.07.2016
14:22:38
так этож блок, ему передается управление

Mikhail
13.07.2016
14:22:47
управление чего?

Иван
13.07.2016
14:23:00
ну выполнения программы
хз как это назвать

Mikhail
13.07.2016
14:23:07
хм
ну это сущность?
в руби 2 сущности "обьект и блок?"
так чтоль

Google

Mikhail
13.07.2016
14:23:36
????

trickster
13.07.2016
14:23:47
хм
http://nashbridges.me/blocks-in-ruby
как-то давно на русском
помогло осознать
для детей
http://nashbridges.me/procs-and-lambdas

Mikhail
13.07.2016
14:24:51
Блок — это произвольный код, который можно передать любому методу в качестве неявного последнего аргумента. Следует понимать, что при этом блок является особой конструкцией языка и обособлен от списка явных аргументов метода, что означает следующее:
ну вот же. Блок та не является сущностью
по идее. Это просто код

trickster
13.07.2016
14:25:14
ну он и не объект
да просто кусок кода

Mikhail
13.07.2016
14:25:17
нет

trickster
13.07.2016
14:25:19
блок кода)

Mikhail
13.07.2016
14:25:22
ну вот
то есть блок, набор БУКАВ
а набор БУКАВ не обьект
набор обьектов

I
13.07.2016
14:25:46
давайте посмотрим через RubyVM

Mikhail
13.07.2016
14:26:27
это просто способ передачи кода

Andrey
13.07.2016
14:26:30
как по мне это не очень важно, но у меня на собеседовании такое спросили, что в руби не является объектом
я не знал(

Google

Mikhail
13.07.2016
14:26:32
по другому не скажешь

trickster
13.07.2016
14:26:49
ну да
так же как и не очень важно знать отличия прока и лямды)

Mikhail
13.07.2016
14:26:59
так блок не сущность по идее а способ передачи кода. Он из себя по идее ничего не представляет.

Andrey
13.07.2016
14:27:30
отличия я знаю, но не ставил я себе этого вопроса, чтобы так сходу ответить

Mikhail
13.07.2016
14:27:36
ну или как сформулировать.
В руби все есть обджект)
➜
➜

Admin
ERROR: S client not available

trickster
13.07.2016
14:27:52
almost everything

Mikhail
13.07.2016
14:27:53
?

ojab
13.07.2016
14:27:57
keyword'ы не являются объектами

trickster
13.07.2016
14:28:01
^_^

Mikhail
13.07.2016
14:28:13
не туда пошли
@igorpavlov ну че как искать что есть блок)
можно ли определить тип

ojab
13.07.2016
14:29:18
тип уже определён в gist'e

Mikhail
13.07.2016
14:29:53
в гисте насколько я понял было что блок экземпляр класса прок. А прок есть обджект.

ojab
13.07.2016
14:30:09
ну так и есть

Google

Кøе-ктø Геннадьевич
13.07.2016
14:31:04
Думаю Миша хороший специалист. Все хорошие специалисты нудные ^______^

trickster
13.07.2016
14:31:55
миша просто попездеть хочет, в статье есть вся инфа разжёванная ещё и на русском
:D

Mikhail
13.07.2016
14:32:02
не
че вы меня тут начали
я ваще манагер рекрутер
выискиваю умников

Кøе-ктø Геннадьевич
13.07.2016
14:32:53
На самом деле завидую. Я часто задавая вопросы боюсь перегнуть палку в количестве )

trickster
13.07.2016
14:33:43
задавая вопрос нужно объяснить, что ты уже попробовал имхо
ибо перебирать эти варианты это долго
:)

Mikhail
13.07.2016
14:34:58
Вопрос спорный. Ну блок не может же существовать отдельно от методов и лямбд

trickster
13.07.2016
14:35:08
бля)
там уж так разжёвано)
со всеми примерами
и с таким тоже)

Mikhail
13.07.2016
14:35:22
я это читал 5 лет назад
ты не тыкай а поясни мысль свою

trickster
13.07.2016
14:35:33
в чём спорный?

Mikhail
13.07.2016
14:35:52
что не все в руби обджект
логика дерьмоватая что блок не обджект. Ну while тоже не обджект же