so why can i 'print' a here doc, but not set it to a variable??? or am i
doing something stupid wrong that i dont know what i'm doing with the stupid
and the wrongness?? (sorry, i think i need to catch up on some sleep too)
> Other than the fact Linux has a cool name, could someone explain why I
> should use Linux over BSD?
No. That's it. The cool name, that is. We worked very hard on
creating a name that would appeal to the majority of people, and it
certainly paid off: thousands of people are using linux just to be able
to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the
mistake of putting a lot of numbers and weird abbreviations into the
name, and is scaring away a lot of people just because it sounds too
technical.
-- Linus Torvalds' follow-up to a question about Linux
so why can i 'print' a here doc, but not set it to a variable??? or am i
doing something stupid wrong that i dont know what i'm doing with the
stupid
and the wrongness?? (sorry, i think i need to catch up on some sleep too)
> > Other than the fact Linux has a cool name, could someone explain why I
> > should use Linux over BSD?
>
> No. That's it. The cool name, that is. We worked very hard on
> creating a name that would appeal to the majority of people, and it
> certainly paid off: thousands of people are using linux just to be able
> to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the
> mistake of putting a lot of numbers and weird abbreviations into the
> name, and is scaring away a lot of people just because it sounds too
> technical.
-- Linus Torvalds' follow-up to a question about Linux
--
Jens-Harald Johansen
--
There are 10 kinds of people in the world: Those who understand binary and
those who don't...
but this:
pry(main)> str = ''
pry(main)> str <<NUMS
gives me:
SyntaxError: (pry):43: Invalid octal digit
In the first case, puts is a method. In the second, str is a variable. You
can pass arguments to methods, which is what you do. You cannot pass
arguments to variables. The `<<` in `<<NUMS` is not an operator, it is part
of the here document syntax (I take it to mean "put the string here, where
I'm pointing to") so it expands to `str "..."` which is more obviously
incorrect.
If you're trying to append to the string, then it should be `str << <<NUMS`
if you're trying to assign it to the string, then it should be `str =
<<NUMS`
···
On Tue, Jun 28, 2011 at 4:17 PM, serialhex <serialhex@gmail.com> wrote:
thanks J-H!! that works BEAUTIFULLY!!! (though why that works and the
other doesn't is a mystery to me, seems like it violates the principle of
least surprise)
hex
···
On Tue, Jun 28, 2011 at 5:27 PM, J-H Johansen <ondemannen@gmail.com> wrote:
On Tue, Jun 28, 2011 at 11:17 PM, serialhex <serialhex@gmail.com> wrote:
> ok, so i'm trying to create a here doc for a little program i'm writing
and
> it dosn't seem to want to work right!
>
> this code works:
> ###
> pry(main)> print <<NUMS
> pry(main)* 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
> pry(main)* 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
> pry(main)* NUMS
> 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
> 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
> => nil
> ###
>
> but this:
> ###
> pry(main)> str = ''
> => ""
> pry(main)> str <<NUMS
> pry(main)* 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
> pry(main)* 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
> pry(main)* NUMS
> ###
>
> gives me:
> ###
> SyntaxError: (pry):43: Invalid octal digit
> 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
> ^
> (pry):43: syntax error, unexpected tINTEGER, expecting $end
> 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
> ^
> from
>
>
/home/serialhex/.rvm/gems/ruby-1.9.2-p180/gems/pry-0.9.1/lib/pry/pry_instance.rb:226:in
> `eval'
> ###
>
> so why can i 'print' a here doc, but not set it to a variable??? or am i
> doing something stupid wrong that i dont know what i'm doing with the
> stupid
> and the wrongness?? (sorry, i think i need to catch up on some sleep
too)
>
> any help is appreciated
> hex
>
>
Try this:
>
> --
> my blog is cooler than yours: serialhex.github.com <http://goo.gl/7s4yU>
>
> > > Other than the fact Linux has a cool name, could someone explain why
I
> > > should use Linux over BSD?
> >
> > No. That's it. The cool name, that is. We worked very hard on
> > creating a name that would appeal to the majority of people, and it
> > certainly paid off: thousands of people are using linux just to be able
> > to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made
the
> > mistake of putting a lot of numbers and weird abbreviations into the
> > name, and is scaring away a lot of people just because it sounds too
> > technical.
> -- Linus Torvalds' follow-up to a question about Linux
>
--
Jens-Harald Johansen
--
There are 10 kinds of people in the world: Those who understand binary and
those who don't...
--
my blog is cooler than yours: serialhex.github.com
> Other than the fact Linux has a cool name, could someone explain why I
> should use Linux over BSD?
No. That's it. The cool name, that is. We worked very hard on
creating a name that would appeal to the majority of people, and it
certainly paid off: thousands of people are using linux just to be able
to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the
mistake of putting a lot of numbers and weird abbreviations into the
name, and is scaring away a lot of people just because it sounds too
technical.
-- Linus Torvalds' follow-up to a question about Linux
ahh, ok, this explains things a lot better! i thought it was a method or
some such, also it makes more sense for me to `str = <<NUMS ...` than `str =
''; str <<NUMS...` thank you!
hex
···
On Tue, Jun 28, 2011 at 5:38 PM, Josh Cheek <josh.cheek@gmail.com> wrote:
If you're trying to append to the string, then it should be `str << <<NUMS`
if you're trying to assign it to the string, then it should be `str =
<<NUMS`
--
my blog is cooler than yours: serialhex.github.com
> Other than the fact Linux has a cool name, could someone explain why I
> should use Linux over BSD?
No. That's it. The cool name, that is. We worked very hard on
creating a name that would appeal to the majority of people, and it
certainly paid off: thousands of people are using linux just to be able
to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the
mistake of putting a lot of numbers and weird abbreviations into the
name, and is scaring away a lot of people just because it sounds too
technical.
-- Linus Torvalds' follow-up to a question about Linux