2012-04-30 30 views
12

Mam bardzo dziwne zachowanie w IRB w Rubim 1.9.3 z systemem Mac OS 10.7.3 Kiedy próbuję wprowadzić Umlaut, jest on wyświetlany w wierszu polecenia i wygląda tak (wszedłem "ü" na klawiaturze)Nie można wprowadzić znaków specjalnych w języku Ruby 1.9.3 IRB

irb(main):001:0> "\U+FFC3\U+FFBC" 

Co znajduje się w bardzo dziwne jest to:

irb(main):001:0> "\U+FFC3\U+FFBC".length 
=> 0 

oczywiście, postać nie jest wyświetlany albo:

irb(main):001:0> "\U+FFC3\U+FFBC" 
=> "" 

Czy ktoś wie, co się tutaj dzieje lub jak to naprawić?

+0

Jakie jest wyjście '' put __ENCODING__' –

+0

IRB (main): 001: 0> __ENCODING__ => # < Kodowanie: UTF-8> ' – Jan

Odpowiedz

6

Victor Moroz nie dość dać ostateczną odpowiedź, ale jego związek doprowadził mnie do roztworu (thx!):

zapomniałem wspomnieć:

To, co wtedy zrobiłem, aby rozwiązać ten problem w moim przypadku, to przekompilować, tym razem wskazując rubin na nowszą wersję n readline (6.2.2 w moim przypadku), który zainstalowałem z homebrew.

Kroki zajęło to:

$ brew install readline 
$ export CPPFLAGS=-I/usr/local/Cellar/readline/6.2.2/include 
$ export LDFLAGS=-L/usr/local/Cellar/readline/6.2.2/lib/ 
$ curl https://raw.github.com/gist/1688857/rbenv.sh | sh && rbenv global 1.9.3-p125-perf 
+2

Fwiw, prostsze polecenie jest wyświetlane na https://github.com/guard/guard/wiki/Add-proper-Readline-support-to-Ruby-on-Mac-OS-X: CONFIGURE_OPTS = - with -readline-dir = 'brew --prefix readline' rbenv install 1.9.3-p327 – Turadg

1

To może pomóc http://henrik.nyh.se/2008/03/irb-readline

UPDATE W rzeczywistości na moim Macu nie mam problemu z wersją portu Ruby, ale oryginalna wersja Mac OS ma ten problem (nigdy nie używany, że jeden). Najłatwiej jest więc po prostu zainstalować Ruby z portów.

+0

Przepraszam, zapomniałem wspomnieć, zainstalowałem ten ruby ​​za pomocą ruby-build. – Jan

5

natknąłem się tego problemu, jak również, ale mój Ruby został zbudowany z RVM zamiast ruby-build. Wcześniej używałam również Homebrew na Mountain Lion, aby uruchamiać inne instalatory pakietów, a wśród nich był Readline 6.2.5 lub coś w tym stylu. Okazuje się, że to jest przyczyną tego problemu. Tak oto dylemat:

Od the RVM site:

Jeśli masz błąd podczas kompilowania dotyczące readline, może trzeba próbować instalacji z procedurą określoną poniżej.

$ RVM PKG zainstalować READLINE

$ RVM ponowna 1.9.2 --with-readline-dir = $ rvm_path/usr

Należy zauważyć, że błąd ten występuje najczęściej podczas posiadające MacPorts, Fink, lub Homebrew zainstalował readline w Twoim systemie.

Mam nadzieję, że to pomoże komuś innemu!

+0

Bardzo pomocne. Dzięki – Dimitris

+0

Nice - pracował z 1.9.3 p327 i poprawki falcon: rvm reinstalować ruby-1.9.3-p327-turbo - z-readline-dir = $ rvm_path/usr –

Powiązane problemy