X



Ruby 初心者スレッド Part 65
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 0f80-JI52)
垢版 |
2018/12/22(土) 04:43:34.03ID:84E3pYZa0
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0724722 (ワッチョイ 5f2c-+BGV)
垢版 |
2019/10/01(火) 22:53:28.60ID:9HRGRt020
CSV::Table#by_col! で、列単位で扱える。
そこで、delete(列名) で、列ごと削除できるけど、
事前に、列名が必要

任意の列数のCSV ファイルを扱う場合に、
事前に、列名がわからない場合に、どうすれば良いのか?

一旦、ヘッダー行を取得して、すべての列名を取得してから、処理すれば良いのか?

>>723
csvtool というコマンドがあるのですね
0726デフォルトの名無しさん (ワッチョイ eaa5-P2X/)
垢版 |
2019/10/03(木) 12:16:59.30ID:PnP8AkUw0
Rubyに決めた!
0727722 (ワッチョイ ea2c-2rUB)
垢版 |
2019/10/03(木) 15:24:11.67ID:qxa8VeaI0
できた!

by_col! でも、元のファイルを更新しない

それと、CSV.tableは、CSV.readに、幾つかのオプションを設定したものだから、
table = CSV.read( ARGV[ 0 ], headers:true, converters: :numeric, header_converters: :symbol )

コンバーターで、変数の型が自動変換されてしまう

require 'csv'

column_names =[ "AAA", "BBB" ]

# 引数は、入力ファイル名。ヘッダー行あり
table = CSV.read( ARGV[ 0 ], headers: true )

# 列モードにしてから、特定の列名以外を、削除する
puts table.by_col!.delete_if {
|column_name, values| !column_names.include? column_name }
0728デフォルトの名無しさん (ワッチョイ ea2c-2rUB)
垢版 |
2019/10/09(水) 16:51:10.78ID:z4DviLBe0
Windows10, WSL, Ubuntu 16.04, Ruby 2.3 で、
pty, expect モジュールを使って、端末に自動入力しようとしたが、エラーになる!

この環境では、使えないのかな?

warning: Insecure world writable dir /mnt/c in PATH, mode 040777

/usr/lib/ruby/2.3.0/expect.rb:47:in `eof?':
Input/output error @ io_fillbuf - fd:7 /dev/pts/0 (Errno::EIO)
0729デフォルトの名無しさん (ワイーワ2 FF92-PqvS)
垢版 |
2019/10/09(水) 16:59:03.96ID:dDDCJBWOF
君の pwd の結果を曝すか
runas /user:administrator 汁
0730728 (ワッチョイ ea2c-2rUB)
垢版 |
2019/10/09(水) 18:12:59.85ID:z4DviLBe0
Windows10, WSL, Ubuntu 16.04 の端末上で、
~/mytest/ruby/test に、スクリプトファイルを置いて、実行してる

ディレクトリ・ファイルのパーミッションは、rwxrwxrwx

確かに、/dev/pts/0 は存在しない(Errno::EIO)。
/dev/pts/ptmx しかない

WSL には、その機能が無いのかも
0732デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
垢版 |
2019/10/10(木) 09:40:50.22ID:yMym0WfOF
ちゃんと読め
Insecure world writable dir /mnt/c in PATH
0735728 (ワッチョイ 9f2c-la4p)
垢版 |
2019/10/10(木) 18:57:06.29ID:dv1+zkCU0
Windows10, WSL, Ubuntu 16.04 の端末上で、
tty と入力すると、/dev/tty1 と表示される

Ruby ではなく、シェルスクリプトで、expect をしようか
0736728 (ワッチョイ 9f2c-la4p)
垢版 |
2019/10/10(木) 19:25:48.03ID:dv1+zkCU0
pty は仮想端末だから、ssh 接続をしないと使えないのかも

単に、端末に自動入力したいだけだから、
Ruby ではなく、シェルスクリプトで、expect をやってみる

apt では、sudo のパスワードを聞かれるから、それを自動入力したい
0737728 (ワッチョイ 9f2c-la4p)
垢版 |
2019/10/10(木) 19:59:39.73ID:dv1+zkCU0
expect のサンプルが、pty を使ったものばかりだったから、ptyを使わなければ良いのかも?

expectだけでも使えるのか?
誰か、サンプルを書いて!
0738728 (ワッチョイ 9f2c-la4p)
垢版 |
2019/10/11(金) 00:40:11.94ID:SXeDtfTX0
Windows10, WSL, Ubuntu 16.04 の端末上で、

net/telnet モジュールを使って、Telnet で接続しようとしたが、エラーになった!

/usr/lib/ruby/vendor_ruby/net/telnet.rb:350:in `initialize':
Connection refused - connect(2) for "localhost" port 23 (Errno::ECONNREFUSED)

やっぱり、WSL は特殊
0739デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
垢版 |
2019/10/11(金) 10:13:43.38ID:hkXt1GtmF
Windows で Ruby 使ってもロクなことにならない
(WSL でもね)
0741デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
垢版 |
2019/10/11(金) 10:44:47.24ID:hkXt1GtmF
別に目の仇にしてる訳じゃないやろ
「rubyはなんでwindowsで使うと糞なの」
「じゃあおまいが対応汁」
「forkωωω」
「挫折」
の流れを繰り返してるだけ
屍累々
0742デフォルトの名無しさん (ワッチョイ 9714-Gl4G)
垢版 |
2019/10/11(金) 10:59:31.96ID:PhVW6Uck0
>>738
お前がわかってないだけだろ

そのエラーはlocalhostでtelnetサーバーを起動してない、
もしくは接続が拒否されたって意味だ。

今どき暗号化されてないtelnetサーバーなんて使わないから
前者だろうな。
0745728 (ワッチョイ 9f2c-la4p)
垢版 |
2019/10/11(金) 22:27:44.45ID:SXeDtfTX0
Windows10, WSL, Ubuntu 16.04 の端末上で、
tty と入力すると、/dev/tty1 と表示される

/dev/tty, /dev/tty0, /dev/tty1 などもある。
他にも、S が付いた、/dev/ttyS0 〜 /dev/ttyS191 もある

/dev/stdin, /dev/stdout, /dev/stderr もある

expect で、このあたりの、デバイスファイルを使えるかもしれない

>>738
Telnet の接続エラーは、port 23 が開いていないのかも
0748デフォルトの名無しさん (ワッチョイ 7f73-pTuN)
垢版 |
2019/10/20(日) 00:18:23.73ID:tI/yRj1E0
Rubyの課題が全然わからないので教えてほしいです。
1、0、−1、0が繰り返し表示されるようにしたいです。
when使ってできないでしょうか。
OS→windows10
Rubyバージョン→1.8.4
一応作ったのですが、nilが永遠にでます。
0750デフォルトの名無しさん (ワッチョイ 122c-pTuN)
垢版 |
2019/10/20(日) 08:32:27.73ID:ADDbXmaX0
Ruby 1.8.4 ?
もう、そんなに古いのは無理!

Windows 用のRubyInstaller でも、Ruby2.5.7。
Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!

Windows では、irb も日本語でバグるから、VSCode を使え!
Code Runner という拡張機能を入れると、
右クリックメニューから、選択したコードを実行できる
0752デフォルトの名無しさん (ワッチョイ b35f-dFI/)
垢版 |
2019/10/20(日) 09:10:18.66ID:X1mKFDBe0
0.step do |i|
p case i % 4
when 0 then 1
when 1 then 0
when 2 then -1
when 3 then 0
end
end

a = [1,0,-1,0]
0.step{|i| p a[i%4] }

>>750
> Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!
私の観測範囲が狭いのか2.6.5を使わない理由が見つからないのだが、なにかバグありました?
0754750 (ワッチョイ 122c-pTuN)
垢版 |
2019/10/20(日) 10:13:18.00ID:ADDbXmaX0
>>752
Windows 用のRuby は、いつも1つ前のバージョンを使う!
RubyInstaller のサイトにも、最新版を使わないようにと、いつも書いてある

Windowsでは、MSYS2 でコンパイルするモジュールなどが、
最新版に対応していないので、1年ぐらい待つ必要がある
0756デフォルトの名無しさん (ワッチョイ b35f-dFI/)
垢版 |
2019/10/20(日) 11:35:59.48ID:X1mKFDBe0
>>754
RUBYINSTALLER-HEAD(https://github.com/oneclick/rubyinstaller2/releases/tag/rubyinstaller-head)については書いてありますが
latestについては記述見つかりませんでしたが、どこに書いてありますか?

> MSYS2 でコンパイルするモジュールなどが、
コンパイル済みのfat-gemが問題起こしてる印象があり、なくならねぇかな・・・と思ってますね
0757750 (ワッチョイ 122c-pTuN)
垢版 |
2019/10/20(日) 12:06:18.48ID:ADDbXmaX0
https://rubyinstaller.org/

以前は、このトップページか、Download のページに書いてあったけど、文章が変わったみたい

まあでも、このスレでも、Windows では、最新バージョンは使うなという書き込みがあったから、
たぶん、1つ前のバージョンを使わないと、依存関係が解決できないのだろう

とにかく、Mac を使っている人は、Windowsの依存関係が地獄だから、皆Macへ移った
0758デフォルトの名無しさん (ワッチョイ d201-4js2)
垢版 |
2019/10/20(日) 12:16:45.81ID:MDf6mYD+0
[1,0,-1,0].cycle {|x| puts x} #無限
[1,0,-1,0].cycle(3) {|x| puts x} #サイクル数指定
[1,0,-1,0].cycle.take(10).each {|x| puts x} #要素数指定

cycle再発明したいならEnumeratorを返す方法を学ぶ
0759デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
垢版 |
2019/10/20(日) 12:46:50.25ID:9lZC9vgyF
ひょっとすると Ruby は糞なのかも知れない

10.times{|n|puts Math::cos(n*Math::PI/2) <=> 0}
0760デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
垢版 |
2019/10/20(日) 12:48:22.43ID:9lZC9vgyF
10.times{|n|puts Math.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Numeric.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Number.sign(Math::cos(n*Math::PI/2))}
0761デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
垢版 |
2019/10/20(日) 12:56:08.24ID:9lZC9vgyF
糞は漏れだった orz

10.times{|n|puts Math::cos(n*Math::PI/2).to_i}
0768デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
垢版 |
2019/10/21(月) 17:07:36.09ID:5+ah6i6TF
禁止事項
トリを使おうとしている質問者に対して、そんなトリはやめろとかという、斜め上からのアドバイス
質問者そっちのけでの昔語り(昔はもっと苦労したもんだ、今の若い者は…)
知らないのに、使ったことないのに、知ったかぶりでの書き込み
ググれという誰でも言えそうな忠告
俺は知ってるけど言わない等といった、実社会での扱われ方からの僻みから来る
意地悪な言辞

回答はあくまでボランティアなので、質問者は、回答がつかなかったり、
期待に沿った回答が得られなかったからといって切れたりしないように。
また、わざとそういう困った質問者を演じて釣りに来る人もいるかもしれないので、
回答者も、むかついたからといって、いちいち切れて反応せずスルーしよう。

そして質問者はもう出て来ない
0769デフォルトの名無しさん (ワッチョイ 37e7-6fT3)
垢版 |
2019/10/21(月) 17:50:42.35ID:fwYGRAlp0
他人のレスに対して上から目線で批判するしか能がない評論家のカキコこそ、
無駄なスレ消費ではないかと思われ


>>764
では、貴殿の正解をどうぞ!

>>766
では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
0770769 (ワッチョイ 37e7-6fT3)
垢版 |
2019/10/21(月) 19:35:56.70ID:fwYGRAlp0
訂正
X:
 >>766
 では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
O:
 >>767
 では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
0771デフォルトの名無しさん (オッペケ Sr47-sprL)
垢版 |
2019/10/22(火) 11:21:00.25ID:wZUXcjF6r
いやどうみてもnがちょっとでかくなったら正しくなくなることくらい自明だろ
同じ発想でやりたいなら複素平面とかπ/2の回転行列とか使って計算すればいいだけ
ただし奇を衒った回答としては斬新さにかけて面白くないと言っている
>>758が一番スマート(かつ自分でもそうする)って言ってるんだがなんなんやこいつ
0772デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
垢版 |
2019/10/22(火) 11:24:07.59ID:fxbuxtP/F
>nがちょっとでかくなったら正しくなくなる

2π で mod すればいい
0773デフォルトの名無しさん (ワッチョイ 7f73-pTuN)
垢版 |
2019/10/22(火) 11:42:16.77ID:Bl/xGts70
質問したものです。皆さん様々な意見ありがとうございます。考えてくださってとても感謝しています。
皆さんのを見ながらなんとかできました!
ありがとうございました。
0774デフォルトの名無しさん (ワッチョイ 6373-sEIE)
垢版 |
2019/10/26(土) 11:19:55.92ID:VCWPcpX80
def break_test
return break
end

i = 10;
while i > 0
next_test
}
放置すれば無限ループになるのをbreak_testでループを
抜けたいのですが、関数?からnext や breakなどを
返すようにできないのでしょうか。
0775デフォルトの名無しさん (ワッチョイ 6373-sEIE)
垢版 |
2019/10/26(土) 11:21:02.82ID:VCWPcpX80
ごめんなさい、
i = 10;
while i > 0
break_test
}
でした。
0776デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
垢版 |
2019/10/26(土) 12:47:43.93ID:751XFDvk0
そういうキーワードそのものは、返せないだろ

戻り値は、0, 1 などの整数とか、
フラグとして、true, false の真偽値とか、

:next, :break みたいなシンボルとか、文字列とか
0779デフォルトの名無しさん (ワッチョイ bf33-1RvR)
垢版 |
2019/10/26(土) 19:48:47.03ID:zP6esb2p0
>>774
斬新な発想だな。w
Rubyに限らず一般的に、制御を移すしくみは、関数(メソッド)の範囲を越えることはできない。

ただし、「例外」ならそれ以降をすっとばすことができるので、break相当ならできるかも?
# 勧めないけど。
0781デフォルトの名無しさん (ワッチョイ 6373-sEIE)
垢版 |
2019/10/26(土) 22:09:58.48ID:VCWPcpX80
>>778
実際はwhileじゃなくて
xxxxx.each do |key|
同じようなことする関数(引数)
  同じようなことする関数(引数)
  同じようなことする関数(引数)
end
の中で関数の中身がある条件だったら
nextで残りをやらずにeach.doの最初からやりたいんですけど
引数の値が違うだけなのに
例えば関数にTrueを返したら next しろとか条件をいちいち
付けるのもめんどくさいと思い、質問してみました。
0782デフォルトの名無しさん (ワッチョイ 6373-sEIE)
垢版 |
2019/10/26(土) 22:13:03.44ID:VCWPcpX80
xxxxx.each do |key|
if 同じようなことする関数(引数) then next
  if 同じようなことする関数(引数) then next
  if 同じようなことする関数(引数) then next
end

Rubyにあまり詳しくないのでよくわからないのですが
こんな感じなのでしょうか?
0783デフォルトの名無しさん (ワッチョイ a3e0-Oqw9)
垢版 |
2019/10/26(土) 23:35:07.98ID:BPSgYag60
慣習的に返り値を成否にすることが多いから論理を逆にして

xxxxx.each do |key|
同じようなことする関数(引数) &&
同じようなことする関数(引数) &&
同じようなことする関数(引数)
end

xxxxx.each do |key|
next unless 同じようなことする関数(引数)
next unless 同じようなことする関数(引数)
同じようなことする関数(引数)
end
0785デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
垢版 |
2019/10/27(日) 05:02:59.99ID:hJUpCTqv0
jQuery.each( object, callback )

これは、jQueryの繰り返し処理用の関数。
配列/オブジェクトで使える

繰り返し処理中に、ループを抜けたい場合(一般的なループ処理で言うところのbreak)、
コールバック関数で、falseを返すことで実装できます。
それ以外の値を返した場合は、無視されます
0789デフォルトの名無しさん (ワッチョイ 2314-BWw0)
垢版 |
2019/10/27(日) 10:40:08.22ID:Lik42TLZ0
あとgithubプロジェクトには、オブジェクトファイルとか
vimのスワップファイルとかも入っていて周辺知識もない

つまりはプログラミング全般の幅広い知識をつけて、
言語開発できるレベルになったと言うより
言語作ってみたくて、それ関連の知識をぐぐってコピペした程度
再帰を知ってるかも怪しいw
0791デフォルトの名無しさん (ワッチョイ 6f8c-cmPQ)
垢版 |
2019/10/27(日) 11:37:21.19ID:vygsvak+0
どこにも新人を虐め殺す人はいる。
0797デフォルトの名無しさん (スップ Sd1f-PDRl)
垢版 |
2019/10/29(火) 23:05:22.63ID:wWZj5nZGd
github の ignoreとか適当だから、objとか普通にアップしてるな。
仕事ならまだしも、個人ねやつなんか、完全やバックアップもくてきだから、
あまりにデカイみだな .db とか除いて、全部あっふだわ。

個人のリポジドリも200とか超え始めると、一つ一つ丁寧に設定なんかしとれんわ。
githubやエディタ独自仕様に振り回される必要なし。
0799デフォルトの名無しさん (エムゾネ FF1f-Tlcr)
垢版 |
2019/10/30(水) 13:12:15.78ID:Jt7N9BVBF
>>797 はパスワードをうpして慌てるタイプ

あるいは気付かず放置してるだけかも知らん
0800デフォルトの名無しさん (ワッチョイ ca2c-0B+f)
垢版 |
2019/11/04(月) 16:33:35.55ID:Zu03xGz40
あるフォルダ内の子フォルダだけを取得するのに、こう書いているのですが、

PowerShell みたいに、ls -Directory
など、もっと簡単に書けないの?

target_dir = "C:/Users/Owner/Documents/*"

p dest_dirs = Dir.glob( target_dir ).select { |path| File.directory?( path ) }

return if dest_dirs.length == 0 # フォルダが存在しない
0803800 (ワッチョイ ca2c-0B+f)
垢版 |
2019/11/04(月) 19:37:03.85ID:Zu03xGz40
Dir.glob( "パス", :directory )

みたいに、ブロックじゃなくて、
オプション・シンボルなどで、簡単に指定できれば
0806デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
垢版 |
2019/11/05(火) 21:08:09.25ID:z9XdE4jra
rubyを使い出して2週間なのですが困っています。

今は汎用機のログの一括処理に使っているのですが、
半角カナや漢字が文字化けして読み込まれます。

ログファイルはwindowsにsjisで保存されていて、
これをsjis指定で読み込んでも\x33等と化けます。
どうすれば半角カナが化けないように読めるのでしょうか。
0807デフォルトの名無しさん (ワッチョイ c68c-fAkU)
垢版 |
2019/11/05(火) 22:01:22.14ID:+vsp0I/Q0
sjis指定で読み込んでると思い込んでるだけで実際はutf-8になってるんじゃないかな
あるいはログがsjisと思い込んでるだけという線もありうる
もしくは書き出しがsjisになってないとか
可能性を挙げたらきりがない
コードをさらすのが解決への近道
0808デフォルトの名無しさん (アウアウウー Sa2f-xbEI)
垢版 |
2019/11/05(火) 22:19:23.14ID:HJJtuDtXa
汎用機のデータをRubyで処理とか懐かしいな
俺もやってたわ
結局転職するのが唯一にして最良のソリューションだから、あまり変なことに拘って時間を無駄にするよりAWSの勉強でもしたほうがいいよ
0809デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
垢版 |
2019/11/05(火) 23:08:03.80ID:rzC/SdAh0
>>806
どういう環境を使って
どういう方法でエンコーディング指定をしていて
どうやって読み込んで、どこに出力して、出力結果をどうやって確認してるのか?
そういう情報が必要
Ruby関係なくエンコーディングに対する理解を深めたほうが良さげ

基本的には外部エンコーディングと内部エンコーディングを指定すれば問題なし
https://docs.ruby-lang.org/ja/2.6.0/class/IO.html#io_encoding
>File.read('sjis.log', mode: "rt:sjis:utf-8")
0810デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
垢版 |
2019/11/06(水) 00:03:50.72ID:lUVlDRaka
>806です
解決しました。

エンコードにsjisではなくwindows-31Jを
指定すると半角カナを文字化けせずに読めました。

ファイルの文字コードは確実にsjisなのに、
なんでsjis指定で読み込んだら化けるのか分かりませんが、
ひとまず解決です。
0813デフォルトの名無しさん (アウウィフ FF2f-DOEl)
垢版 |
2019/11/06(水) 11:43:12.78ID:o3tEvZiYF
半角カタカナ ← 混ぜるな危険

30年くらい前の話
0816デフォルトの名無しさん (アウウィフ FF2f-DOEl)
垢版 |
2019/11/06(水) 12:34:12.51ID:o3tEvZiYF
いいがかりは止せ
SJISファイルじゃないんだから当然だろ
0817デフォルトの名無しさん (ワッチョイ ca2c-0B+f)
垢版 |
2019/11/06(水) 13:41:03.82ID:ZR40S1lI0
Windows では一般用語として、sjis と書くけど、
厳密には、sjisを拡張した、CP932 の事です。
だから、MS が独自に拡張した部分は、sjisではない!

漏れは、Windows で、PowerShell を使って、クリップボード処理を書いているけど、
Windows(CP932) ←→ Ruby(utf8) と、外部環境とruby内で、文字コードを変換している

クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
0818デフォルトの名無しさん (ワッチョイ de14-EL77)
垢版 |
2019/11/06(水) 15:16:56.50ID:Z1mcKm+J0
別にMSがSJISを拡張したんじゃないけどな。
そもそもSJIS本家を作ったのがMS(+他)なわけで。

じゃあ拡張したのは誰かというとIBMとかNECだよ
まあそもそも拡張可能にしていんだけどな

MSなどがSJISを作った。IBMやNECが拡張した。
それらを取り込んでWindowssのCP932とした。というのが正しい流れ

ちなみにAppleもSJISを拡張してる。それはMacJapaneseと呼ばれる。
拡張部分がIBMやNECが拡張した部分とかぶってるので互換性がないんだけどな
0819デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
垢版 |
2019/11/06(水) 15:39:23.65ID:Fx0hE3mY0
>Encoding.aliases.select {|_,v| v == "Windows-31J"}
{"CP932"=>"Windows-31J",
"csWindows31J"=>"Windows-31J",
"SJIS"=>"Windows-31J",
"PCK"=>"Windows-31J"}

Rubyでは"SJIS"も"CP932"もWindows-31Jのエイリアスなんだけど
SJISの指定をWindows-31Jに変更して解決する事があるんですねー(棒)
0822デフォルトの名無しさん (ワッチョイ 077d-qsv/)
垢版 |
2019/11/06(水) 19:26:39.67ID:GIJSYcug0
リファレンスマニュアルの aliases -> Hash の例
"SJIS"=>"Shift_JIS" は間違いですね

Encoding::SJIS == Encoding::CP932 #=> true
Encoding::SJIS == Encoding::Windows_31J #=> true
Encoding::SJIS == Encoding::Shift_JIS #=> false
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況