OS-Specific "\n" Interpolation?

Discussion in 'Ruby' started by Rob Muhlestein, Jan 1, 2007.

  1. Coming from Perl and C I have come to expect "\n" to be translated
    differently depending on OS--especially when doing sockets protocol
    programming. Ruby *appears* to be subject to this same OS/clib
    translation issue which is so often overlooked. Was hoping Ruby
    shielded the average user from this. Has anyone else had any experience
    confirming or denying this? I've written up the details in a blog post:

    http://rob.muhlestein.net/2007/01/watch-those-newlines-ruby-no-different.html
     
    Rob Muhlestein, Jan 1, 2007
    #1
    1. Advertising

  2. Rob Muhlestein

    Xavier Noria Guest

    On Jan 1, 2007, at 7:20 PM, Rob Muhlestein wrote:

    > Coming from Perl and C I have come to expect "\n" to be translated
    > differently depending on OS--especially when doing sockets protocol
    > programming. Ruby *appears* to be subject to this same OS/clib
    > translation issue which is so often overlooked. Was hoping Ruby
    > shielded the average user from this. Has anyone else had any
    > experience
    > confirming or denying this? I've written up the details in a blog
    > post:
    >
    > http://rob.muhlestein.net/2007/01/watch-those-newlines-ruby-no-
    > different.html


    In Ruby "\n" is a string of lentght 1 in all systems, and it is equal
    to "\012" in all platforms. This works as in Perl and other languages
    that inherit from C the way newlines are handled[*], except it is
    simpler because it does not have the MacPerl exception.

    In these languages you write portable sockets programming by
    binmodeing the socket and hard-coding "\015\012" or whatever.

    As a side note, by default modern Perl performs newlines transaltion
    on CRLF platforms via the custom PerlIO I/O layer, the C Ruby
    interpreter delegates this to stdio.

    -- fxn

    [*] http://www.onlamp.com/pub/a/onlamp/2006/08/17/understanding-
    newlines.html
     
    Xavier Noria, Jan 1, 2007
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    8
    Views:
    6,219
    Researcher_123
    Oct 7, 2011
  2. =?Utf-8?B?SmF2?=

    Is ViwState Page-Specific or UserControl-Specific

    =?Utf-8?B?SmF2?=, Aug 16, 2006, in forum: ASP .Net
    Replies:
    2
    Views:
    575
    =?Utf-8?B?SmF2?=
    Aug 16, 2006
  3. mazdotnet
    Replies:
    2
    Views:
    425
    Alexey Smirnov
    Oct 2, 2009
  4. Rob Muhlestein

    OS-Specific "\n" Interpolation?

    Rob Muhlestein, Jan 1, 2007, in forum: Ruby
    Replies:
    0
    Views:
    128
    Rob Muhlestein
    Jan 1, 2007
  5. William FERRERES
    Replies:
    7
    Views:
    241
    William FERRERES
    Jul 9, 2007
Loading...

Share This Page