Rubyについて Part 34 ..
548:デフォルトの名無しさん
09/02/27 14:17:01
>>547
open-uri は Content-Type ヘッダの charset トークンを内部で読んで force_encoding の引数に設定してくれる模様
require 'open-uri'
uris = %w(URLリンク(sankei.jp.msn.com) URLリンク(dailynews.yahoo.co.jp) URLリンク(b.hatena.ne.jp) URLリンク(www.2ch.net))
uris.each do |uri|
res = open(uri)
p "#{res.read.encoding.inspect}, Content-Type: #{res.meta['content-type']}"
end
results:
"#<Encoding:Shift_JIS>, Content-Type: text/html; charset=shift_jis"
"#<Encoding:EUC-JP>, Content-Type: text/html; charset=euc-jp"
"#<Encoding:UTF-8>, Content-Type: text/html;charset=utf-8"
"#<Encoding:ASCII-8BIT>, Content-Type: text/html"
Ruby1.9 の Net::HTTP はそれすらやらない、本当にプレーンな HTTP クライアントという性格に結果的になったってことだな
Net::HTTP のレベルで細かく処理されてたら確かに逆に面倒かもしれない
「HTTP ヘッダの Content-Type の charset があれば読んで設定、
それで valid_encoding? が偽なら meta タグの Content-Type を、
それでも invalid なら NKF.guess あたりの結果をブチ込み、
それでも invalid ならもうどうでもいいので ISO-8859-5 とかで流す」
という便利なんだか親切なんだかよくわからん HTTP クライアントは Ruby1.9 にこそあるべきだとは思う
あと、>>539のencodingの値はどれもほぼデフォルト値だから、
「あーこいつなんもエンコーディング処理やってねーな」と気づくことはできるぞ
549:デフォルトの名無しさん
09/02/27 14:27:50
これで POST ができれば完璧なんだが
… 1.9.1 の open-uri は POST できたりする?
550:デフォルトの名無しさん
09/02/27 14:54:20
>>548
ヘッダは見るけどメタタグは見てないということか?
551:デフォルトの名無しさん
09/02/27 16:01:41
>>550
そう振舞うのが自然だと思う。
データの中身を見てどうにかするのは、そのデータを解析する層の仕事でしょ。
552:デフォルトの名無しさん
09/02/27 16:03:19
>>550
そういう疑問はマニュアルくらい読めよ
……あああああ当たり前のように全く何も書いてねええええええ
え〜、OpenURI::Meta::meta_setup_encoding が該当処理になっとります
おーむねおーざっぱには次のような処理
res = Net::HTTP.start(uri.host, uri.port){|http| http.get(uri.path)}
charset = res['Cotent-Type].scan(/charset=(.+?)"/).to_s
if enc = Encoding.find(charset) then
res.body.force_encoding(enc)
else
res.body.force_encoding(Encoding::ASCII_8BIT)
end
<meta> タグを精度よく読もうとしたら HTML のパースをきちんとしないといけないから、
open-uri にとっては動作的にも意味的にも荷が重い
553:デフォルトの名無しさん
09/02/27 16:11:47
なにこの「よくわからんがユーティーエフエイツって書けば黙るんだろファッキンジャップ」
とか言いつつLatin1を送りつけてくる無知外人を嵌めるブービートラップ
554:デフォルトの名無しさん
09/02/27 16:39:28
それで嵌るのは大概こっち側だという罠
555:デフォルトの名無しさん
09/02/27 16:52:28
Railsデプロイ
URLリンク(www.oreilly.co.jp)
…でぷろいって何よ
556:デフォルトの名無しさん
09/02/27 16:56:04
まあ日本語で一発で表現できないからこそカタカナ語が残ったんだろうけどな
提供が近い?
557:デフォルトの名無しさん
09/02/27 17:00:17
おれはいつも「配置」と脳内で訳しているが
558:デフォルトの名無しさん
09/02/27 17:01:26
俺のイメージではインストールするだけじゃないインストール、つーかんじ?
559:デフォルトの名無しさん
09/02/27 17:01:51
「Railsアプリのサーバ設置とユーザへの提供」だな
560:デフォルトの名無しさん
09/02/27 17:03:47
Railsの本はRailsべったりでつまみ食いできないからつまんない
たまにはRailsからじゃなくても単独で便利に使えるライブラリ解説本とか出ないかな
561:デフォルトの名無しさん
09/02/27 17:08:12
ちょこっとRailsとかやると新鮮でいいぞ
「だからRubyで書かせろよバカ」と思うことがないわけではないが
562:デフォルトの名無しさん
09/02/27 17:10:52
ハッカーになるために必要な言語が
C/Perl/Haskell/Java/Ruby
ってまじっすか?
563:デフォルトの名無しさん
09/02/27 17:12:04
Ruby 本体の open-uri に POST が入ることはないと思う。
どちらかというと、HTTP URI に post メソッドがつく方がまだありえる
564:デフォルトの名無しさん
09/02/27 17:18:46
>>562
ハッカーに「なる」ことはそもそもできない
スーパースターになるために日々特訓、というのと似たような滑稽さがある
で、それらの言語はそれぞれ極まった特徴がある言語だ
一つの言語だけの知識しかないというのはプログラマー的には(趣味仕事問わず)かなり損なので、
なるべく色々な言語に触れることが好ましいとされている
で、「色々」をわりと学びやすいと思われる組み合わせとしてよく挙げられるのがそれだ、というただそれだけの話
それを頑なに信じて実践してもご利益は特にない
Lisp処理系が入ってないから片手落ちだけど
565:デフォルトの名無しさん
09/02/27 17:21:09
Javaはいらないだろ
566:デフォルトの名無しさん
09/02/27 17:21:47
>>563
post メソッドがついてたまるかー
query と同じような感覚で mutipart とかあのへんのデータがくっつく可能性ならあると思う
567:デフォルトの名無しさん
09/02/27 17:45:01
>>560
ActiveRecord徹底解説みたいなのがほしい
568:デフォルトの名無しさん
09/02/27 17:47:49
Rails2系に対応した詳細本って全く無いよな
仕方なくAmazonで英語の本買って読んでるけどRailsより英語に苦戦してほとんど進まない
569:デフォルトの名無しさん
09/02/27 19:50:03
自作のライブラリのマニュアルとか書くじゃん?(書けよ?)
Sting#empty? みたいな述語なメソッドの説明あるじゃん?
・ ○○なとき真を返し、××なとき偽を返します
・ ○○なとき true を返し、××なとき false を返します
どっちがいい?
570:デフォルトの名無しさん
09/02/27 19:53:16
真偽がtrue/falseを表すとは限らないから下の方がいい
571:デフォルトの名無しさん
09/02/27 19:59:15
>>569
このメソッドは△△についての真偽を返します
と言っておいて
○○なとき true を返し、××なとき false を返します
と書く
ただし、これがコンディションとして使われる場合はたとえば
引数 param が nil か false だった場合…
とは(unless obj then ... みたいな実装だった場合の話だけど)書かずに
引数 param が偽だった場合…
と広く書く
572:デフォルトの名無しさん
09/02/27 21:07:02
質問。
Iconv の引数に渡すための文字エンコード名を、文字列を分析して取得したいんだけど、どんな方法がある?
ASCII/SJIS/EUC/JIS/UTF8 は NKF.guess があるよね
ISO8859-1 も Iconv の引数に入れたいんだ
どうやって検出すればいい?
573:デフォルトの名無しさん
09/02/27 21:19:12
>>571
それってなんかの決まり事?
ルールみたいなのがどっかにあるんだったら教えてほしいな
574:デフォルトの名無しさん
09/02/27 22:32:06
>>567
Pro ActiveRecordという本はある。
Railsと独立してActiveRecordを使う本。
まー、内容はソースが読める人ならいらないレベル。
575:デフォルトの名無しさん
09/02/27 22:57:13
ソースを読めても効率を重視したい
576:デフォルトの名無しさん
09/02/27 23:04:59
>>574
そこまで高度な内容でもなかったような記憶。
577:デフォルトの名無しさん
09/02/28 00:10:06
URLリンク(www.atmarkit.co.jp)
まあ適当に数字いじり
578:デフォルトの名無しさん
09/02/28 00:32:10
1年後のIT土方御用言語の傾向と思って記事を読み直してみると、なかなか興味深い。
579:デフォルトの名無しさん
09/02/28 00:37:43
Perl/Pythonより売れてるってのが驚きだ
Matzがバブルと言うのもうなずける
580:デフォルトの名無しさん
09/02/28 01:20:04
>>579
だってドキュメントが金出して本を買うしかないwwww
581:デフォルトの名無しさん
09/02/28 01:55:47
javaが落ちるのは当然だがrubyがJava以上に落ちるのは意味不明だなぁ
Railsで一瞬盛り上がっただけなのかね
582:デフォルトの名無しさん
09/02/28 17:17:46
Rubyはある程度使ったら本読むよりネットやソース見たほうが早いって感じか。
Rubyは1.9以降でPythonは3.0以降がもっと使われだすとまた変わってくるかもね。
583:デフォルトの名無しさん
09/02/28 17:45:12
単純にrubyはpythonの代わりにはなれないと判断されただけだろ
584:デフォルトの名無しさん
09/02/28 18:40:35
Rubyはもう衰退期に入ってるのかもな
585:デフォルトの名無しさん
09/02/28 18:42:27
成熟期、ではないんだろうか。ないかな。ないよな
586:デフォルトの名無しさん
09/02/28 18:45:18
ruby(笑い)
587:デフォルトの名無しさん
09/02/28 18:46:00
もともとPerlやらPythonやらがあったところに食い込んでるんだから
よくぞ生き残ったと思うよ
これだけ発展すれば、もういきなり死ぬって事は無い
588:デフォルトの名無しさん
09/02/28 18:56:52
Railsに生かされてる感じだけどな
589:572
09/02/28 18:58:52
あれ、みんな困ってないの?
Encoding に指定するエンコーディング名だって困るよね?
590:デフォルトの名無しさん
09/02/28 19:04:33
はなから自動検出などあきらめている。
591:デフォルトの名無しさん
09/02/28 19:48:25
perl, python, phpと違って、mod_rubyが(事実上)無い事が一番致命的だった。
レンタルサーバーで使えない。
592:デフォルトの名無しさん
09/02/28 19:56:14
mod_rubyがどうこうと言うよりも、レンタルサーバーに関して言えば単にキラーアプリの不足だろう
tDiaryはかなりrubyを広めるのに貢献したけれど、それでもperlやphpに追いつくには足りなかった
593:デフォルトの名無しさん
09/02/28 20:04:34
RUbyはところどころ未完成なのがいいんだよ
完成しすぎてると人気がなくなる
594:デフォルトの名無しさん
09/02/28 20:04:59
phpMyAdmin、Trac、MovableType あたりがキラーアプリかな?
特にMovableTypeのお陰で、そこらのへなちょこレンタルサーバでもCPAN
モジュールが使えるようになったのはPerlでは大きいな。ちょっと遅かったけど。
595:デフォルトの名無しさん
09/02/28 20:11:25
>>591
URLリンク(www.google.com)
URLリンク(www.google.com)
railsとdjangoで比べると、railsが圧倒的。
596:デフォルトの名無しさん
09/02/28 20:13:34
中途半端なmod_rubyがあったが為に、まともなmod_rubyが開発されなかった。
CGIAlt以前のcgi.rbと同じ構図。
597:デフォルトの名無しさん
09/02/28 20:13:59
ぬるぽ
598:デフォルトの名無しさん
09/02/28 20:24:38
>>589
NKF.guessでいいじゃん
599:デフォルトの名無しさん
09/02/28 20:33:46
質問の前提を覆すなよwかわいそうだろ
600:デフォルトの名無しさん
09/02/28 20:58:56
Rubyは遅くてたまらん。
フルアセンブラで書き直して欲しい。
誰かやらないか?
601:デフォルトの名無しさん
09/02/28 21:05:48
もっとこう、発展余地のある方向を・・・・
JIT組み込んでみるとかさ、GCのアルゴリズム改良してみるとかさ、
部分的な型付けや型推論に挑むとかさ
602:デフォルトの名無しさん
09/02/28 21:07:46
はあ?
603:デフォルトの名無しさん
09/02/28 22:20:48
フルアセンブラ(笑)
そんなに遅いならRubyなんかで書かずにフルアセンブリで書けばいいじゃない
604:デフォルトの名無しさん
09/02/28 22:45:11
日本で、Ruby はマイナーなテキストエディタのように生き残るよ。
日本語の漢字コードに対応しているし。
605:デフォルトの名無しさん
09/02/28 22:54:34
>>604
>マイナーなテキストエディタのように
何となくしっくり来る例えだな
まぁ日本に限らず世界でも、ここまで使われ始めたRubyが
そう簡単に死ぬこともないだろう
仮に知名度が下がったとしても、ハッカーは使い続けていくさ
606:デフォルトの名無しさん
09/02/28 23:44:55
>>600
1.9系使ってそう思うのならお前に安住の地はない
607:デフォルトの名無しさん
09/02/28 23:53:58
>>596
mod_rubyって中途半端なの?
608:デフォルトの名無しさん
09/03/01 01:26:38
一方俺は次のLispに逃げた
609:デフォルトの名無しさん
09/03/01 01:33:44
一方おれは1.9に惹かれてRubyを始めた
610:デフォルトの名無しさん
09/03/01 01:35:10
そして実践に使える場所がないことに気づく
611:デフォルトの名無しさん
09/03/01 02:29:10
昔のRubyはgemだのrubyforgeだのなくて細々とRAAにユーザーのライブラリが
載ってるだけだったから、大抵のユーザーは自給自足してたけど、今は事情が違いすぎる。
612:デフォルトの名無しさん
09/03/01 02:43:57
1.9使いたいんだが、使いたいgemのmswin32バイナリが1.9対応してない。
613:デフォルトの名無しさん
09/03/01 02:57:46
>607
レン鯖にmod_ruby入れたら何が起こると思う?
614:デフォルトの名無しさん
09/03/01 03:03:08
レンタルなんて仮想しか使わんがそれでもダメ?
>>612
何使いたいんだ?
615:デフォルトの名無しさん
09/03/01 09:42:48
>>614
nokogiri
616:デフォルトの名無しさん
09/03/01 13:13:55
>>615
まじで?ほんのちょっといじってみたが、おれが使う分には動作したのだが。
HTMLとってきてxpathを使ってデータ取り出すだけだけど。nokogiriのどの機能がだめ?
617:デフォルトの名無しさん
09/03/01 13:55:00
>>616
実際に使いたいのはmechanizeなんだけど、それがnokogiriを必要としてるんでどうにかならんものかと。
一応状況説明。
fURLリンク(ftp.ruby-lang.org)
といくつかの必要なdllを入れた環境で
gem install mechanize
とすると、
nokogiri-1.2.1-x86-mswin32-60
mechanize-0.9.1
がインストールされる。
で、インストールされたnokogiriのnative.soはmsvcrt-ruby18.dllを要求するけど、
入ってるrubyのdllはmsvcrt-ruby191.dllだからそんなものないということで動かない。
msvcrt-ruby18.dllを持ってきたとしてもまぁ色々拙くて駄目。
618:デフォルトの名無しさん
09/03/01 14:52:46
ふむ
再現
619:デフォルトの名無しさん
09/03/01 15:16:26
Nokogiri は今重点開発中だから報告すれば('(゚∀゚∩ なおるよ!
どっちかというと Mechanize のラテン文字バグを早めに直して欲しいんだが
require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
agent.get('URLリンク(www.google.com)')
Iconv::IllegalSequence: "\240(Simplified)';n"...
from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `iconv'
from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `to_native_charset'
ISO-8859-1 なページでラテン文字とか記号つき文字とかがあると絶対にそこでエラーになるという
620:デフォルトの名無しさん
09/03/01 15:27:03
>>619
そんなんテストで気づけよ…
621:デフォルトの名無しさん
09/03/01 15:31:50
「中でIconv使ってるから文字エンコードごとにメジャーなとこ10個くらい出入力のチェックしよう」
と考えてテスト作る人は正直なとこかなり稀だと思うっていうかめんどくさいというかむしろ
テスト書くのが面倒だというただそれだけの理由でIconv使うの止めそうだ
622:デフォルトの名無しさん
09/03/01 15:33:42
>>617-618
まじかよ。1.8と1.9を両方入れてるから間違えたのだろうか。
これから1500万件データを入れなきゃいけないから明日試してみよう。
623:デフォルトの名無しさん
09/03/01 15:35:44
俺のは直る直らないと言う以前に1.9.1環境でビルドしたバイナリgemも用意しといてねって話しなんだけどね。
まぁ、それはそれとしてそんなバグもあるのか。
VC++2008 Express Editionでビルドできたら自前でビルドしちゃいたいところだけど、
これもこれで色々とうまくいかないんだよね。
624:デフォルトの名無しさん
09/03/01 15:47:16
Mechanize のは
「他人のコードを入れたらそこでだけバグって全体が止まった」
という教科書に典型例として載りそうな事例
メインのメンテナさんは頭抱えてると思う
教訓としては「欧米ファイルを変換する場合は NKF.guess の返り値の文字エンコード名を Iconv に渡さない」
Latin のファイルが NKF.guess で SJIS か CP932 と誤認されて(というか NKF はこの選択肢しかない)、Iconv の変換がコケる
625:デフォルトの名無しさん
09/03/01 21:49:42
マジでテキストの文字エンコーディングが
プログラミング上の悩みの種になりつつあるな。
特にスクリプト言語だと、己のスクリプトファイル
自身のエンコーディングと、扱うテキストデータの
エンコーディングの両方ともに注意が必要だ。
正規表現でマッチしなくなるとか、かなり致命的。
626:デフォルトの名無しさん
09/03/01 21:55:52
>>625
んなもの、webアプリの世界では遙か昔っからの問題だ
それをUNICODE文字セットで揉めに揉めるだらWindowsのよくわからんローカライズだら
EUC-JPからの切り替え遅延だら、ずーーーっと先延ばししてきただけの話じゃないか
Perlが内部エンコーディングをUTF-8にし、Encodeモジュールを標準添付にしたのは
何年前だと思ってるんだ
627:デフォルトの名無しさん
09/03/01 22:12:25
Matzか誰かがUTF-8を毛嫌いしてるだけで
EUC信者のせいで導入できなかったのが敗因
さっさとUTF-8にするのは正解だと思う
628:デフォルトの名無しさん
09/03/01 22:31:05
そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。
世界の文字コードがUTF-8になれば世界は平和になる
629:デフォルトの名無しさん
09/03/01 23:09:09
そう。過去資産の一部をすっぱり諦めるという英断を、開発者、ユーザを含めた全員でできれば
幸せな世界が待ってるんだ・・・・・。
630:デフォルトの名無しさん
09/03/01 23:38:51
2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね
わかります
631:デフォルトの名無しさん
09/03/01 23:45:29
リソースフォークに文字エンコードを書く風習が広まっていれば…
632:デフォルトの名無しさん
09/03/01 23:58:21
よし、じゃあ2chをUTF-8化しよう
633:デフォルトの名無しさん
09/03/02 00:07:45
なってなかったっけ
634:デフォルトの名無しさん
09/03/02 00:11:15
2ch書き込みはcp932
635:デフォルトの名無しさん
09/03/02 00:14:23
Unicode文字が使える設定の板があるってだけだな
636:デフォルトの名無しさん
09/03/02 01:27:57
Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ
16だのなかったか?
637:デフォルトの名無しさん
09/03/02 11:01:03
Code Set Independent は正義
638:デフォルトの名無しさん
09/03/02 11:31:18
> Matzか誰かがUTF-8を毛嫌いしてるだけで
> EUC信者のせいで導入できなかったのが敗因
> さっさとUTF-8にするのは正解だと思う
何を言っているんだお前は、RubyにUTF-8対応パッチが入ったのは1999年のことだぞ。
> そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。
> 世界の文字コードがUTF-8になれば世界は平和になる
無知な人は幸せでいいですね。
> 2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね
> わかります
全くわかっていないので、とりあえずRFC3629くらいは読んでください。
> リソースフォークに文字エンコードを書く風習が広まっていれば…
なので今更ながらmagic commentなんぞ作ったわけです。
639:デフォルトの名無しさん
09/03/02 11:37:22
> Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ
> 16だのなかったか?
Unicodeは1つだからuniなのです。
通信時に用いる符号化にはUTF-8、UTF-16、UTF-32があります。
UTF-16は不幸な過去です・・・。
>>619
glibc iconv や libiconv の未定義文字があると例外投げる独自仕様は、
ほんとに有害ですよね。全てがCitrusになるといいと思います。
>>572
自動推測なんてものを当てにしていいのは小学生までです。
ていうか、ISO 8859シリーズの自動推測って不可能でしょ。
# 単語辞書とかでがんばるのかね?
XML宣言なりHTTPヘッダなりmagic commentなりを探してきてそれを使ってください。
そういうライブラリや、フレームワークはそのうち標準添付されるかもしれません。
640:デフォルトの名無しさん
09/03/02 12:11:13
>>636
文字集合としてのUnicodeと、そのエンコーディング(符号化方式)であるUTF、という認識から
始めればいいかと。
俺もその先は詳しく知らんけど。
CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、
現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。
それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。
物事を単純化したいなら、Unicode一択なんだろうか
641:デフォルトの名無しさん
09/03/02 12:37:00
> CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、
> 現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。
まず、推測が必要になる時点で何かがおかしい。
そのデータを送ってきたやつはなんでそのデータのエンコーディングを送ってきてないんだ?
送ってきているのだとしたらなんでそれを無視するんだ?
日本語使いだとデータだけから言語がすぐに推測できるのだと思い込んでしまうのかもしれないが、
ヨーロッパの言語だと同じ文字を使っているから、数単語の場合は推測など不可能だぞ。
> それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。
内部エンコーディングに処理系が対応しているものを使う限りは、
エンコーディングの問題なんか変換時に用いるエンコーディング名を正しく設定する以上はない。
未だに「表」の2バイト目は0x5Cだからエスケープと衝突して・・・なんてのは古代の遺物です。
Unicode系を内部エンコーディングとして使うとよいのは、
Unicodeが実用上もっとも大きな文字集合でかつ他のほとんどを包含してるから。
例えばJIS X 0208で足りるなら別にEUC-JPでもよい。
642:デフォルトの名無しさん
09/03/02 13:24:42
たとえばラウンドトリップ問題とかで、特定の内部コードに一元化という方法では
困る場合がある、というのがCSI派の主張のひとつだが。
643:デフォルトの名無しさん
09/03/02 13:47:49
>>642
ラウンドトリップで一緒になってしまうケースでは例えばNEC選定IBM拡張文字とかがあるが、
実際問題として、そんなもん戻らなくてよくね?
比較や検索の問題があるので、その場合元で対処する必要があるにはあるのだが、
これもまた「同じ文字」が別扱いされるバグがあったとも言うわけで。
それ以外は行き帰りで同じ変換表を用いれば問題はないはず。
644:デフォルトの名無しさん
09/03/02 13:50:57
>>641
> まず、推測が必要になる時点で何かがおかしい。
んだね。推測はいらない。ただ、文字集合間での変換は必要。
大体変換テーブル自体がUnicode経由だったりするし。
> 例えばJIS X 0208で足りるなら別にEUC-JPでもよい。
そういうことじゃん。JIS X 0208では足りないんだよ。それを代替できるのが、現実的にはUnicodeしかなく、
それなら独自文字集合に基づいたエンコーディングそのものが不要というか、問題の種にしかならない。
Unicodeで足りない、っていう問題は、新たに規格を作ったり拡張したりするのではなく、あくまでもUnicodeの
補完で対応するべき。JIS規格は、日本の文字規格の統一とUnicodeへの提案という意味のみで利用するべき
と思うんだがなあ
まあ文字コードの話はあんまり深入りしたくないってのも本音だな。
レガシーと現状と文化と将来の展望の主張がいり混じってほんとよくわからん。
645:デフォルトの名無しさん
09/03/02 14:01:48
> それなら独自文字集合に基づいたエンコーディングそのものが不要というか、問題の種にしかならない。
その「独自」の定義は「Unicodeでない」ですかね。
> Unicodeで足りない、っていう問題は、新たに規格を作ったり拡張したりするのではなく、
> あくまでもUnicodeの補完で対応するべき。
補完って、外字でも使うんですかね。
あと、今はUnicodeの拡張可能な領域って2面しかないんですよね。
> JIS規格は、日本の文字規格の統一とUnicodeへの提案という意味のみで利用するべき
今のJIS規格って、国語審議会のおもちゃでしょ。
文字の追加以外はできないようにして欲しいね。
646:デフォルトの名無しさん
09/03/02 21:11:36
よくCSI派から理由に挙げられるのはTRONコードとか文字鏡だっけか?
647:デフォルトの名無しさん
09/03/02 22:17:17
いつまでスレ違い続けますか
648:デフォルトの名無しさん
09/03/02 23:55:28
UNICODEについて最低限知っておくべきことを最小限の時間で知りたければ
「Joel on Software」の第4章を立ち読みすることをお奨めする。
俺はそれで UTF-8 がASCII圏の奴らのワガママだと知ったw
649:デフォルトの名無しさん
09/03/03 00:49:43
米国でRuby関連書籍の売り上げが減速か − @IT
URLリンク(www.atmarkit.co.jp)
そういうわけでRubyやめてC#かPHPやろうぜ。
650:デフォルトの名無しさん
09/03/03 00:54:15
言語仕様的にはPHPよりRubyの方がずっといいように思う。
便利は便利だが、もうPHPに戻るつもりはない。
651:デフォルトの名無しさん
09/03/03 01:17:09
禿げ堂
漏れもそう思ってPHPからRubyに乗り換えた
今はPythonを使っている
652:デフォルトの名無しさん
09/03/03 01:58:52
> UTF-8 がASCII圏の奴らのワガママ
たしかにそうかもしれんが、UTF-8は結構うまく考えられていると思うがな。
653:デフォルトの名無しさん
09/03/03 05:02:03
>>648
UnicodeではなくUTF-8?
654:デフォルトの名無しさん
09/03/03 06:23:13
他国語化考えてない古いアプリでも
UTF-8だと通ったりするからな
うまく考えられてるよ
そういう利点は素直に認めるべき
655:デフォルトの名無しさん
09/03/03 12:10:12
>>608
そんな俺は forth(というか concatenative language)に行く
656:デフォルトの名無しさん
09/03/03 18:15:20
1.9.1でしつもん
irb で1.9対応が怪しいライブラリを実行して
ArgumentError: invalid byte sequence in EUC-JP
というようなエラーが出る場合、「悪い」のは irb の設定?
それとも元のスクリプト?
それともライブラリそのもの?
657:デフォルトの名無しさん
09/03/03 18:19:12
マジックコメント入れて
ruby1.9 -E utf-8 hoge.rb
とか適当なエンコーディング指定してもエラーが出るなら、ライブラリの書き方が悪い可能性が大
マジックコメント入れてないなら、スクリプトが一方的に悪い
658:デフォルトの名無しさん
09/03/04 01:08:26
>>652>>654
うん、確かにASCIIとの互換性を保ちつつ従来の文字エンコードの
課題を克服した、とてもよい設計だと思う。UNICODEの普及に
大きく貢献してるね。
>>648は「これで Joel に興味持ってくれたらいいな」とあえて偏見
気味に書いてみたw
659:デフォルトの名無しさん
09/03/04 01:41:22
あっそ
660:デフォルトの名無しさん
09/03/04 07:12:54
ということにしたいのですね
661:デフォルトの名無しさん
09/03/04 09:06:32
void キタ! Rubyには型は無いのに!
662:デフォルトの名無しさん
09/03/04 09:55:21
型が無いわけじゃないんだけどな。
663:デフォルトの名無しさん
09/03/04 10:55:03
一般的に型と呼ばれるもので「保証」されているあれこれがRubyには存在しない、が妥当な表現?
664:デフォルトの名無しさん
09/03/04 10:57:54
プログラム言語の理論をあまり知らない初心者だけど、
一般的に型って言った場合、どういったものを指すの?
変数(入れ物)の型?中身(オブジェクト?)の型?
静的型言語って言った場合は、前者でいいのかな。
665:デフォルトの名無しさん
09/03/04 11:19:33
>>664
そう
静的な型付けでは入れ物の型を先に決めるから、結果として入れることができる中身も限定される
666:デフォルトの名無しさん
09/03/04 11:45:05
Rubyの概念的には
「変数そのものもなんらかのクラスのオブジェクトのようなもんである言語があるらしい」
だと思ってくれればそう間違ってもいない
bind_type(:str, String)
とすると str は絶対に String のインスタンスしか入らない(整数を代入するとTypeError)みたいなそんな感じ
667:デフォルトの名無しさん
09/03/04 12:40:32
>>665
なるほど。中身そのものの型を変えられるのかどうかは知らないけど、とりあえず動的・静的って
言ってるときには、それはあんまり関係ないのかな。
あくまでも変数の型についての話、でいいのかな。
>>666
これは、TypeErrorを出しているのはその「なんらかのクラス」の機能ってことだろうか。
んでこういうこともできるから、一応Rubyに型がないわけではない、っていう意味?
668:デフォルトの名無しさん
09/03/04 12:52:27
Rubyしかやらないのなら型について気にする必要は一切ない
公式には型はない
型のある言語を学ぶようになってから型について学べば十分
669:デフォルトの名無しさん
09/03/04 12:59:07
中身の方に「お前は誰だ」って聞いてやればいいんだよね
unless(String == obj)
raise ArgumentError, "イテーヨシ"
end
みたいに。
670:デフォルトの名無しさん
09/03/04 13:09:07
>>669
実行時にしか評価できないのなら型の実際的意味がない
671:デフォルトの名無しさん
09/03/04 13:12:41
>>666
横から悪いが、何を言ってるのか分からんのだけど、どゆこと?
672:デフォルトの名無しさん
09/03/04 13:27:02
静的だと値にも変数にも型がある
動的だと値には型があり変数にはない
とか
673:デフォルトの名無しさん
09/03/04 13:31:21
>>670
型を間違ってコーディングした事を、実行前に知りたい、という事?
だったら趣味ならともかく、まともなアプリにはtestは必要なんだから、型の間違いはすぐ判る。
動的に切り替えできる必要がある場合は、動的型付けの方がやり易い。
>>671
>>664
横レスだが、型には多相型(Haskellなど)、単一型(C、Java、Rubyなど)があると思ってくれ。
単一型をさらに、静的、動的に分類可。
静的--->変数と型との対応が固定。
int i=1とした後、i='a'とするとエラー
動的--->オブジェクトと型との対応が固定。 変数とオブジェクトとの対応は可変。
a=1とした後、a="abc"と出来る。
>>672
> 動的だと値には型があり変数にはないとか
Rubyはそのとおり。
674:デフォルトの名無しさん
09/03/04 13:45:38
>>673
いや、うん、そうだけど、あなたの言ってる事と>>666の内容は
およそ一致してると考えていいのかな?
俺にはそう取れなかったので
675:673
09/03/04 13:56:28
>>674
「型についての知識が、静的型付け言語の範囲内」の人に始めてRubyを説明するときには、
>>666の表現は厳密ではないが受け入れ易いと思う。
676:デフォルトの名無しさん
09/03/04 14:17:33
変数に型がないことを説明したいのに変数を型にはめることだけ例示されてもなー
という違和感が >>666 にはあるな
677:デフォルトの名無しさん
09/03/04 14:34:28
文句言うなら自分で説明する
でもスレ違いなんだけど
678:デフォルトの名無しさん
09/03/04 15:59:47
俺がよく使うたとえ話としては
「変数は入れ物じゃなくて、ラベルみたいなもん」
「代入じゃなくて名前付け。データとかオブジェクトに対して名前をつける」
「ラベルはどんなオブジェクトにも貼り付けられる。型はオブジェクトそのものの属性」
「ラベルには賞味期限と有効範囲がある」
「すべてのラベルが剥がされると、参照不能になってGC様の餌になる」
厳密じゃないが、おおむねこれで理解してもらえてる。
679:デフォルトの名無しさん
09/03/04 17:53:38
>>678
>「ラベルには賞味期限と有効範囲がある」
この辺をkwsk
680:デフォルトの名無しさん
09/03/04 18:03:07
エクステントとスコープのことだな。
681:デフォルトの名無しさん
09/03/04 18:04:54
Rubyに型がないという話なんて誰もしてないと思うんだが
682:デフォルトの名無しさん
09/03/04 18:10:52
>>681
>>668
683:デフォルトの名無しさん
09/03/04 18:17:44
>>673
型testのコードは自動で生成されるの?
でなかったら結局人間による抜けがでそうだけど...
684:デフォルトの名無しさん
09/03/04 18:26:03
便利さ・柔軟さのトレードオフとして危険性はある。
でも、プログラムは仕様通りの動作をすれば内部の変数にどんな型のオブジェクトがあるのかは関係ないし、
ライブライリーのpublicメソッドの引数なんかは型チェックをしてるよ。
685:デフォルトの名無しさん
09/03/04 18:34:44
Ruby的にはオブジェクトの種類はどうでもいい
メソッドさえ動作すれば、引数のクラスは全く問わない
文字列の代わりに、Stringと同じメソッドが定義されてる別のクラスのオブジェクトを渡しても普通は動く
ただ、ぶっちゃけこの考え方は柔軟だが動作の保証が非常に面倒なので、勢い
raise ArgumentError unless param.is_a?(String)
とか書く
686:デフォルトの名無しさん
09/03/04 18:37:55
bind_typeってどのバージョンから使える?
変数のエクステントって概念は知らなかった。
スコープの延長で、可視範囲から外れればだれからも見えなくなるから
忘れ去られると考えてた。これだと静的変数の説明がしにくいんだよな。
687:デフォルトの名無しさん
09/03/04 18:39:58
>>686
bind_type は説明用の擬似的なメソッドだろう
あれば楽しそうだが
688:デフォルトの名無しさん
09/03/04 18:45:01
respond_to?のお役立ち度の微妙っぷりは異常
689:デフォルトの名無しさん
09/03/04 18:56:33
>>683
自動testはHaskell以外は知らない。
言語によらず、型に合った(or意図的にエラーを起こさせる)テストデータを与える必要があるんでは?
690:デフォルトの名無しさん
09/03/04 20:02:44
>>680
そうかなーとは思ったのだが、「ラベル」の賞味期限とエクステントとがうまく結びつかない。
「オブジェクトには賞味期限があり、ラベルには有効範囲がある」なら納得なのだが。
691:デフォルトの名無しさん
09/03/04 20:19:30
オブジェクトの賞味期限は貼るラベルによって変わってくるからいいんじゃない?
もうちょい気を利かせると「ラベルには賞味期限と有効範囲が書いてある」とかだろうか
692:デフォルトの名無しさん
09/03/04 21:03:27
Smalltalkには、 Objectにbecome: というのがあった気がする。
693:デフォルトの名無しさん
09/03/04 21:28:13
# v1.9.1
require 'prime'
Prime.instance.each_cons(2).select {|x, y| y - x == 2 }.first(10)
最初の10組の双子素数を求めようと、このようにすると、当然のように
selectから帰って来れません。ループ組んで10個見つけたら打ち切るみ
たいにするしかないでしょうか。
694:デフォルトの名無しさん
09/03/04 23:08:20
仕方ないように見える
遅延評価があれば似たような書き方ができそうだが、
Rubyではサポートされていない
695:デフォルトの名無しさん
09/03/04 23:11:44
selectってなんだっけ
696:デフォルトの名無しさん
09/03/04 23:17:53
>>695
find_all
detect が find で
select が find_all で
collect が map だ
697:デフォルトの名無しさん
09/03/04 23:32:04
うへ、Enumeratorが無限なのか
変なの作ったなあ
>>693
ループ組んで10個見つけたら終了、という使い方を想定していると思われる
698:デフォルトの名無しさん
09/03/04 23:38:16
Ubuntu で Ruby1.9.1 をコンパイルしたんだけど irb で矢印キーが効きませぬ
readline5 の devel は入ってたのになあ
699:デフォルトの名無しさん
09/03/04 23:42:55
クト類はわかりにくい
select が find_all で
collect が map で
detect が find で
inject が 特になしで
reject! が delete_if
700:デフォルトの名無しさん
09/03/04 23:48:14
たぶん散々既出だと思うが、
select → grep
collect → map
にしなかったのはなぜなんだろ?(まあmapはあるのか)
701:デフォルトの名無しさん
09/03/04 23:53:12
detect と select は意図的に使わない
というか detect は true か false を返すべきだと思う
702:デフォルトの名無しさん
09/03/04 23:55:59
>>700
お前んちのgrepはマッチしなかった行を空行で返したりでもするのか?
てかあのへんは既存の言語の関数をRubyのメソッドに持ってきただけだからどうにもならん
703:デフォルトの名無しさん
09/03/05 00:06:06
>>702
うん?
[0,1,2].select {|i| i == 1} #=> [1]
空行なんて返ってこなくていいよ
find_allって何から来てるの?
grep, map はPerlからなら素直に覚えやすいんだが。
704:デフォルトの名無しさん
09/03/05 00:15:02
おそらく>>700は矢印をオレオリジナルで使っててなおかつ自覚がない
705:デフォルトの名無しさん
09/03/05 00:20:17
全角矢印のム板汎用的な用法なんてあるのか?
意味は通じると思うが
706:デフォルトの名無しさん
09/03/05 00:33:26
Prime.instance.each_cons(2).enum_for(:select, &->(e){e[1]-e[0]==2}).first(n)
first(3)まで見て出来た気になったがfirst(4)を見て全然意味を成していないことに気づく。
enum_for(*args)にはブロック渡せないぽいなぁ。
707:デフォルトの名無しさん
09/03/05 00:35:52
1のとき[2,3]が返る時点で気づこう。
708:デフォルトの名無しさん
09/03/05 00:36:38
>>705
断言しても言いが、経験上たぶん通じてない
709:デフォルトの名無しさん
09/03/05 00:50:56
>>693
module Enumerable
def select_by(block)
return to_enum(__method__, block) unless block_given?
each {|e| yield e if block.call(*e) }
end
end
require 'prime'
Prime.instance.each_cons(2).select_by(lambda {|x, y| y - x == 2}).first(10)
でどう?
710:デフォルトの名無しさん
09/03/05 01:26:31
>>709
>>Prime.instance.each_cons(2).select_by(lambda {|x,y| y - x == 2}).first(10)
=> [[3, 5], [5, 7], [11, 13], [17, 19], [29, 31], [41, 43], [59, 61], [71, 73], [101, 103], [107, 109]]
なるほどね。
711:デフォルトの名無しさん
09/03/05 02:34:18
Prime.instance.each_cons(2).select {|x, y| $. > 10 ? raise 'sine': y - x == 2 }
712:デフォルトの名無しさん
09/03/05 12:03:00
おおむねスレ違いなんだけどさ、github で「今の状態のライブラリをZIPでくれ」ということはできない?
713:デフォルトの名無しさん
09/03/05 13:18:30
せめてLinux板のgitスレで聞け
714:デフォルトの名無しさん
09/03/05 13:44:10
downloadsに用意されてなけりゃできないんじゃねーかと思う
素直に git インストールして git clone git://hoge.github.com/... するのが一番
カレントディレクトリに、たとえば rubygems のライブラリなら hoge/lib ができる
715:デフォルトの名無しさん
09/03/05 16:12:18
もっと英語の作文勉強しておけばよかった
そんだけ
716:デフォルトの名無しさん
09/03/05 16:15:31
Rubyって普及こんな特集記事が載せられるほど普及しているんですね
すっげー、かっけー
URLリンク(itpro.nikkeibp.co.jp)
717:デフォルトの名無しさん
09/03/05 16:20:21
>>715
「書いてみたが、伝わるんだかどうだか不明」という場合は、既出だが自動翻訳サイトを通してみるといい
自動翻訳でなんとなく意味が通じる場合は、外人さんにもなんとなく意味が通じる可能性が高い
訳して何がなんだかわからない場合は、翻訳サイトがへぼい可能性ももちろんあるが、
そもそもの英文がかなり微妙な出来である可能性もかなり高い
日本人であることが相手に伝わってる場合、下手に凝る文章よりも
翻訳サイトで結果が出るようなプレーンな英文のほうが好ましく思われる傾向にある
スピーチとかサイトへの寄稿文とか書いてるという話なら失礼
718:デフォルトの名無しさん
09/03/05 21:49:47
まつもとさんになんてことを
719:デフォルトの名無しさん
09/03/05 21:58:51
どこの翻訳サイトはレベルが高いのがありますか?
720:デフォルトの名無しさん
09/03/05 22:03:06
niftyが結構マシ
721:デフォルトの名無しさん
09/03/05 23:08:40
やっぱ買うのがおすすめ。IT系の辞書とかつけて。
おれは英語のサイトだとすぐに回れ右していたが、
翻訳ソフトを買ってから割と読むようになったし、苦じゃなくなった。
翻訳されてるんだから当たり前だけどな。
722:デフォルトの名無しさん
09/03/05 23:13:49
読むのはいいんだけど、書くのがねえ…
723:デフォルトの名無しさん
09/03/06 00:46:14
It's easy to read, bat hard to write.
724:デフォルトの名無しさん
09/03/06 00:59:36
そうか?翻訳ソフト使えば書く方が簡単だと思うぞ。
書くときは自分で簡単な言い回しに変更できるけど、読む方は相手次第なんだから。
元の文章を工夫するんだよ。オフィシャルな文章じゃそうはいかんだろうけど。
725:デフォルトの名無しさん
09/03/06 01:46:08
書けないと読めないって良く言われるね
726:デフォルトの名無しさん
09/03/06 02:04:16
きっちり書こうとすると前置詞とかが難しいのよね
727:デフォルトの名無しさん
09/03/06 02:13:51
難しいというか、正しく伝わってるかどうか確信が持てない。
おかしい所にも気づかない。
という不安が常につきまとう。読む方にはそれがあんまりないので、
書く方がはっきり難しいと思う。
728:デフォルトの名無しさん
09/03/06 02:34:05
冠詞も良く分からん
I am a God. は間違いらしい
729:デフォルトの名無しさん
09/03/06 02:39:40
そりゃそうだ・・・
730:デフォルトの名無しさん
09/03/06 02:42:17
go to the heaven
なのに
go to hell
だったり
731:デフォルトの名無しさん
09/03/06 02:48:29
おかしいと思って調べたが「go to heaven」でいいはずだぞ。
theの使い方を覚えろよ。それにこのあたりの区別は日本語の助詞なみに難しいと思うぞ。
こんなとこ完璧にするより内容を考えろよw
732:デフォルトの名無しさん
09/03/06 03:18:33
日本語ペラペラでも文章の稚拙な外人っているじゃん
そういう人の文章見てみんなどう感じる?
733:デフォルトの名無しさん
09/03/06 03:51:52
言語的な問題なら仕方ないと思うかなあ。
でも論理的な明快さに欠けてたら、母国語でもそうなんだろうなと思う。
話せればいい文章を書けるなら、
日本人は日本語ならみんないい文章を書けることになってしまう。
って、Rubyの話じゃないじゃん。
734:デフォルトの名無しさん
09/03/06 05:26:21
in the heaven
in hell
らしい
735:デフォルトの名無しさん
09/03/06 09:12:50
1.9のEncodingのエンコード名称って大文字限定?
736:デフォルトの名無しさん
09/03/06 09:24:21
>>735
まず自分でirbでも使って試してみるのがいいと思うよ!
Encoding.findオススメ
737:デフォルトの名無しさん
09/03/06 09:43:53
>>735
1.8でも値だけ作っておくとかそういう時は大文字で書いておくのがいいと思う
738:デフォルトの名無しさん
09/03/06 11:48:30
URLリンク(twitter.com)
ふざけんな!
1.8.6と心中せざるをえない数万のプログラマーを見殺しにするのか!!
739:デフォルトの名無しさん
09/03/06 11:51:56
1.8.6は今存在してるんだからそれ使ってればいいじゃない。
740:デフォルトの名無しさん
09/03/06 11:58:35
PHP5が出た時と全く同じ騒ぎに見える。
PHPの場合は、本格移行の流れになったのは4のサポート停止が"されてから"だから大体3〜4年かかってる。
RubyはPHPほど実運用されてないので移行はもう少し早かろうが、逆にそのまま放置される恐れもあるよな。
Perl5.0や5.6も結構しぶとく残ってたし。
741:デフォルトの名無しさん
09/03/06 12:07:24
>>738
> 1.8.6と心中せざるをえない
具体的にはどんな人?
742:デフォルトの名無しさん
09/03/06 16:02:12
移行なんかしなくていいじゃん。
743:デフォルトの名無しさん
09/03/06 16:06:30
>>741に回答が無い時点でたいしたもんじゃないな
744:デフォルトの名無しさん
09/03/06 16:38:30
>>743
まあ1.8.7にアップグレードできないのも1.8.7向けに改修できないのもほとんどは契約の問題だと思う
個々のプロジェクトの契約の問題の責任をRubyに負わせるとかお前何様って感じだ
745:デフォルトの名無しさん
09/03/06 18:47:41
このテストスクリプト間違ってる…
746:デフォルトの名無しさん
09/03/06 19:23:35
1.8.6とかで放置でも問題ないケースも多い
スクリプトの寿命よりサーバーの寿命の方が先に来る
747:デフォルトの名無しさん
09/03/06 19:26:33
> スクリプトの寿命よりサーバーの寿命の方が先に来る
だからなんだというのだろうか?
748:デフォルトの名無しさん
09/03/07 02:12:04
1.8.7用に書いたスクリプトが1.8.6で動かない事はあるかも知れないけど
1.8.6で動くスクリプトが1.8.7で動かない事ってあるの?
749:デフォルトの名無しさん
09/03/07 02:34:09
そりゃあるだろうが、割合的にはかなり稀
750:デフォルトの名無しさん
09/03/07 13:51:10
>>745
悪いね、正しい結果を出すのが明らかな代表的なのしか書いてないんだ
751:デフォルトの名無しさん
09/03/07 14:15:03
RailsのMultibyte拡張でStringにcharsというメソッドを定義してたのが
1.8.7のcharsと衝突したってのは結構知られているはず。
これは、Railsがmb_charsという名前に変更した。
752:デフォルトの名無しさん
09/03/07 14:50:22
あれは組み込みクラス拡張するほうが一方的に悪いから、仕方ないな
利便性と引き換えの非互換リスク
753:デフォルトの名無しさん
09/03/07 19:21:12
>>748
rubyは1.8.6用に書いたスクリプトが1.8.6で動かなくなったことだってあるwww
754:デフォルトの名無しさん
09/03/07 19:27:05
>>753はパッチの意味を理解していない
755:デフォルトの名無しさん
09/03/07 19:28:48
RDoc フォーマッタで attr 系列が別待遇なものが多いのはなぜ?
あれ他のと混ぜて一律にメソッドとして説明すればいいじゃんね
756:デフォルトの名無しさん
09/03/07 19:35:32
>>755
俺もそう思ってるんだけど、
・ プロパティ厨
・ attr で書いたものはそれ自体に意図があるよ説
が結構根強い
attr_accessor :hoge
と
def hoge
@hoge
end
def hoge=(v)
@hoge=v
end
には違いがないと思うんだけどねえ
757:デフォルトの名無しさん
09/03/07 21:01:19
初めまして。
webkeepersにgemを入れました。その後、rubyが1.8.5だったので、1.8.7にupdate。
install時特になにも環境変数?を指定などしていません。
gem -v => 1.3.1
ruby -v => 1.8.7
とどちらも正常なようですが、require 'rubygems'にすると、"no suck file to load"と怒られます。
whereis gem => /usr/bin/gem だったので、export GEME_HOME = /usr/bin/gem
と余計な事までしてしまいました。どうしたもんでしょう?お願いします。
758:デフォルトの名無しさん
09/03/07 21:02:46
such がsuck になっていて申し訳ございません。。。
759:デフォルトの名無しさん
09/03/07 21:15:53
初心者スレかと思った
>>757
・ レンタルサーバのユーザー領域に自前でRubyをインストールしたが、gemが動かね
ということでいいか
760:デフォルトの名無しさん
09/03/07 21:32:35
ありがとうございました。解決はしませんでしたが、素人が余計なことをするなと言うことは理解出来ました。
けどvpsなので、rootで入れて、whereis ruby => /usr/bin/ruby /usr/lib/ruby /usr/local/bin/ruby /usr/local/lib/ruby /usr/share/man/man1/ruby.1.gz
まぁ素人が、vps使うなんて危ないというのも解るけど。。。
ありがとうございました。初期状態に戻します。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5388日前に更新/205 KB
担当:undef