I'm trying to get ruby to run a script that has a hebrew string.
I'm using a string with just one letter - aleph, the first in the
hebrew alphabet.
This code:
a = "א"
that I write using SciTE and saved as UTF-8 gives these errors:
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\357'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\273'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\277'
in expression
Now, if I save this as ANSI in SciTE it allows it, and then it runs.
However, if I use eclipse ruby plugin, it won't allow me to save aleph
as ANSI (rightfully).
Also, if I read aleph from a file everything works fine when the ruby
script is UTF-8.
What is wrong here?
Can ruby just not get strings in the code that aren't ANSI?
I'm trying to get ruby to run a script that has a hebrew string.
I'm using a string with just one letter - aleph, the first in the
hebrew alphabet.
This code:
a = "א"
that I write using SciTE and saved as UTF-8 gives these errors:
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\357'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\273'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\277'
in expression
Now, if I save this as ANSI in SciTE it allows it, and then it runs.
However, if I use eclipse ruby plugin, it won't allow me to save aleph
as ANSI (rightfully).
Also, if I read aleph from a file everything works fine when the ruby
script is UTF-8.
What is wrong here?
Can ruby just not get strings in the code that aren't ANSI?
Thanks,
Idan Miller.
You can always do this:
a = "\xD7\x90"
puts a
If what you are trying to do is avoid having to type in utf chars in
hexidecimal notation, then try putting this at the top of your file:
$KCODE = "UTF-8"
and see if that allows you to enter the actual character with your
editor.
that I write using SciTE and saved as UTF-8 gives these errors:
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\357'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\273'
in expression
C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\277'
in expression
Now, if I save this as ANSI in SciTE it allows it, and then it runs.
The problem is partly because you're using SCITE. It's saves the "Byte Order Mark" or BOM at the beginning of UTF-8 files. Ruby fails to run scripts with a BOM at the beginning.
The solution is to find a setting to save UTF8 without BOM. I don't know how it's done in SCITE, but any decent code editor should be able to do this. If, not find another.
As others have said, you should puts $KCODE='u' or run ruby with -Ku if your script is encoded in UTF8.
I am trying to avoid the hexidecimal notation since it is obviously
hard to do and not readable...
The KCODE statement doesn't help.
Idan.
···
On 27 פברואר, 14:46, 7stud -- <bbxx789_0...@yahoo.com> wrote:
Idan Miller wrote:
> Hi everyone,
> I'm trying to get ruby to run a script that has a hebrew string.
> I'm using a string with just one letter - aleph, the first in the
> hebrew alphabet.
> This code:
> a = "א"
> that I write using SciTE and saved as UTF-8 gives these errors:
> C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\357'
> in expression
> C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\273'
> in expression
> C:/Documents and Settings/idan/Desktop/test.rb:1: Invalid char `\277'
> in expression
> Now, if I save this as ANSI in SciTE it allows it, and then it runs.
> However, if I use eclipse ruby plugin, it won't allow me to save aleph
> as ANSI (rightfully).
> Also, if I read aleph from a file everything works fine when the ruby
> script is UTF-8.
> What is wrong here?
> Can ruby just not get strings in the code that aren't ANSI?
> Thanks,
> Idan Miller.
You can always do this:
a = "\xD7\x90"
puts a
If what you are trying to do is avoid having to type in utf chars in
hexidecimal notation, then try putting this at the top of your file:
$KCODE = "UTF-8"
and see if that allows you to enter the actual character with your
editor.
--
Posted viahttp://www.ruby-forum.com/.-הסתר טקסט מצוטט-
When I run with -KU I'm expected to have a certian method missing in
Japanese:
Desktop/test.rb:1: undefined local variable or method `' for
main:Object (NameError)
I think you might still be having issues with how your editor is saving the file. Try creating a fresh test file with something like Notepad and see if you have the same problems.
Desktop/test.rb:1: undefined local variable or method `' for
main:Object (NameError)
I think you might still be having issues with how your editor is saving
the file. Try creating a fresh test file with something like Notepad and
see if you have the same problems.
If you start the utf-8 encoded file with BOM with the following line...
On 29 פברואר, 23:25, Wolfgang Nádasi-Donner <ed.oda...@wonado.de> wrote:
Justin Collins wrote:
> Idan Miller wrote:
>> Desktop/test.rb:1: undefined local variable or method `' for
>> main:Object (NameError)
> I think you might still be having issues with how your editor is saving
> the file. Try creating a fresh test file with something like Notepad and
> see if you have the same problems.
If you start the utf-8 encoded file with BOM with the following line...
=nil
.., Ruby 1.8 will have no problems.
Wolfgang Nádasi-Donner
--
Posted viahttp://www.ruby-forum.com/.