Форум — Web-development Ruby и что-то неверятное. ruby 0 1 cnt = 0 at_exit { cnt += 1; puts cnt; sleep(1); } Одновременно выводит две единицы. object_id одинаковые. Что это? Ссылка
user@computer ~> cat index.rb cnt = 0 at_exit { cnt += 1; puts cnt; sleep(1); } user@computer ~> ruby ./index.rb 1 user@computer ~> ruby --version ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] anonymous (10.07.14 16:58:38 MSK) Показать ответ Ссылка
Я думаю, первая единица — результат «puts cnt», вторая — то что возвращает «sleep(1)» (не знаю руби). Айдишники одинаковые, потому что интерпретатор кэширует небольшие целые. Virtuos86 ★★★★★ (10.07.14 17:00:05 MSK) Ссылка
Ответ на: комментарий от anonymous 10.07.14 16:58:38 MSK У меня в таком случае тоже одна. А как сделать две я не догадался ещё. wyldrodney ☆ (10.07.14 17:04:02 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от wyldrodney 10.07.14 17:04:02 MSK У меня в таком случае тоже одна. А как сделать две я не догадался ещё.Дебил. anonymous (10.07.14 18:08:05 MSK) Ссылка
Ответ на: комментарий от wyldrodney 10.07.14 17:04:02 MSK Лол, ну так бы и написал. А то я голову ломаю. anonymous (10.07.14 18:13:14 MSK) Ссылка