Ruby

Nov. 4th, 2008 10:05 am
metaclass: (Default)
[personal profile] metaclass
Собаки бешеные.
Вывожу бинарную строку stdout.print - это пачвярие заменяет 0A на 0D0A :)

Date: 2008-11-04 08:30 am (UTC)
From: [identity profile] mr-aleph.livejournal.com
если ты это узнал под виндой перенаправив ввывод в файл, то они тут не виноваты.

просто попробуй сделать тоже самое с
#include <cstdio>

int main() {
  printf("x\n");
  return 0;
}


тут дело скорее всего в том, что stdout открыт в текстовом, а не бинарном режиме, что и приводит к конверсии между окончаниями строк. вообщем CRT виновата, а не Руби.
Edited Date: 2008-11-04 08:36 am (UTC)

Date: 2008-11-04 08:45 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, на C тоже самое блин, откуда у меня в консоли компилятор С, я им пользуюсь то раз в 10 лет\

И скорее всего в стандарте руби не предусмотрено переключение его в бинарный режим, что-то я такое в гуглах читал.
Забить, выведу во временный бинарный файл, все равно в винде перенаправление на всякой бинарщине тупит постоянно.

Date: 2008-11-04 10:22 am (UTC)
From: [identity profile] psilogic.livejournal.com
stdout - это тебе не файл, это жопа :)

Date: 2008-11-04 10:30 am (UTC)
From: [identity profile] kiryl.livejournal.com
А вызвать $stdout.binmode перед print не помогает?

Опять грабли заботливо разложенные M$.

Date: 2008-11-04 10:37 am (UTC)
From: [identity profile] metaclass.livejournal.com
Помогло. Осталось понять, почему я эту хрень не смог найти в гугле по ключевым словам "ruby stdout binary mode" c первого раза. Сейчас уже нашлась :)

Date: 2008-11-04 10:39 am (UTC)
From: [identity profile] kiryl.livejournal.com
Только помни, что обратно в non-binary режим уже не вернуться :)

Date: 2008-11-04 10:45 am (UTC)
From: [identity profile] metaclass.livejournal.com
Угу, это я уже прочел :)

Date: 2008-11-04 10:26 am (UTC)
From: [identity profile] kiryl.livejournal.com
#include <cstdio>

Какой у вас замечательный C. По рукам за такое.

Date: 2008-11-04 10:29 am (UTC)
From: [identity profile] mr-aleph.livejournal.com
вау, прибыли телепаты, с чего вы взяли, что это C?

Date: 2008-11-04 03:26 pm (UTC)
From: [identity profile] jtootf.livejournal.com
так на то они и телепаты :)

Date: 2008-11-04 11:16 am (UTC)
From: [identity profile] bigfrogg.livejournal.com
Тогда ок)

Date: 2008-11-04 08:34 am (UTC)
From: [identity profile] bigfrogg.livejournal.com
Я вижу всякие опен-сорс технологии захавали вам мозг. Отлично.

Date: 2008-11-04 09:20 am (UTC)
From: [identity profile] weissmann.livejournal.com
Я как-то пытался на c++ переоткрыть стандартный вывод в бинарном режиме. Явным образом. Меня в ответ явным образом майкрософт послал.

Date: 2008-11-04 10:05 am (UTC)
From: [identity profile] max-posedon.livejournal.com
ААА... снова!!! :)))

повторяться не буду, а пока советую почитать String#unpack

Date: 2008-11-04 10:23 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не особо понимаю, чем мне поможет этот метод, если у меня задача вывести бинарную строку в stdout.
Но вообще, это проблема не руби, а сишного рунтайма, как оказалось.

тихим голосом

Date: 2008-11-04 12:30 pm (UTC)
From: [identity profile] golosptic.livejournal.com
...а ведь это могло быть приложение, написаное на Фортране... или на RPG II

;-ЬРЬРЬРЬРЬ

Re: тихим голосом

Date: 2008-11-04 01:00 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Тогда я последую совету из прошлого поста и потребую увеличить зарплату (для оплаты услуг психоаналитиков и психиатров) :)

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 8th, 2025 11:28 pm
Powered by Dreamwidth Studios