[#46438] Rubyist九州 10月3日(土)の定例会のお知らせ — Shunichi Arai <arai@...>
Rubyist九州の新井です。
1 message
2009/10/01
[#46441] Hpricot#search の使い方 — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじまです。
7 messages
2009/10/08
[#46450] String#bytesizeの対応について — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中です。
5 messages
2009/10/14
[#46460] ¥n の改行コマンドが効かない — askar <askar75@...>
初めまして、アスカルと申します。
9 messages
2009/10/18
[#46469] encodingに関する問題? — askar <askar75@...>
お世話になっています。アスカルです。
8 messages
2009/10/18
[#46484] "<<" の使い方 — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中 です。
8 messages
2009/10/27
[ruby-list:46470] Re: encodingに関する問題?
From:
"NARUSE, Yui" <naruse@...>
Date:
2009-10-18 10:46:26 UTC
List:
ruby-list #46470
成瀬です。
askar wrote:
> お世話になっています。アスカルです。
>
> 久保秋 真氏の作りながら学ぶRUBY入門という本を演習しています。
>
> 使っているエディターはTextWranglerです。
>
> ex517.rbという演習は下記の通りです:
>
> #! ruby -Ks
> # -*- coding* Windows-31J -*-
>
> fruits_prices =[["apple", 200],["orange", 100],["melon", 600]]
>
> fruits_prices.each { |fp|
> puts "名前: #{fp[0]}、値段:#{fp[1]}円"
> }
>
> sum=0
> fruits_prices.each {|fp| sum += fp[1]}
> puts "1個ずつ買うと全部で#{sum}円です。"
>
> 質問:
> 1)EncodingはJapanese-Shiftで実行されますが、日本語が文字化けする。
この手の問題の場合は毎回自分の環境を書くべきです。
幸い、直前のメールで Mac だということが分かっていますが。
で、Mac はコンソールのエンコーディングが UTF-8 になっているので、
-Ks やマジックコメントで指定している Windows-31J (シフトJIS の Windows 版)
では化けてしまいます。
> UTF-8にするとプラグラムが実行されず:
> /Users/askar/Documents/programming/ruby/ex517.rb:1: Invalid char
> `\357' in expression
> /Users/askar/Documents/programming/ruby/ex517.rb:1: Invalid char
> `\273' in expression
> /Users/askar/Documents/programming/ruby/ex517.rb:1: Invalid char
> `\277' in expression
> というエラーが生じる
Windows-31J として書かれているものを UTF-8 で実行しようとしたので、
当然エラーが出ます。
> 2)プラットフォーム関係なく共通なencodeの設定は可能でしょうか。
Mac のコンソールのエンコーディングをシフトJISに合わせるか、
プログラムのエンコーディングを UTF-8 に変えるかの二択ですね。
前者はコンソールの設定から変えられたはずです。
後者の場合は多分 TextWrangler に文字コードを指定して保存する機能があるので、
1 行目を -Ku にし、2行目を UTF-8 にした上で、UTF-8 として保存すればいいでしょう。
--
NARUSE, Yui <naruse@airemix.jp>