[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 13:36 / Filesize : 200 KB / Number-of Response : 847
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rubyについて Part 37



1 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:07:47 ]
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。
まったりと行きましょう。

Ruby Home Page
www.ruby-lang.org/ja/

= 前スレ
Rubyについて Part 36
pc12.2ch.net/test/read.cgi/tech/1246174168/

過去スレ・関連スレは >>2-


413 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:36:27 ]
「いつか」とか「本格化すると」じゃなくて、今速くして欲しいんだよね

414 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:41:53 ]
今すぐ切実に早くしたいならwhile trueに書き変えろよw

415 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:42:32 ]
>>413
Rubyのソースコード書き変えて再コンパイルしれ
たぶんいちばん早い

416 名前:デフォルトの名無しさん [2009/09/27(日) 21:48:40 ]
length/sizeって何があったの?
本人降臨したの?

417 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:02:53 ]
>>414
切実に速くしたかったらCで書くだろJK
せっかく超高級言語つかってんだし、loop do endって書くキモチを
大事にしたいんだもん

418 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:19:41 ]
むしろforが要らない子になってね?

419 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 23:03:27 ]
rubyそのものを最適化オプションガリガリ付けてコンパイルすればいいんじゃね

420 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 06:44:34 ]
if RUBY_VERSION >= '1.9.0' then
str.force_encoding(::Encoding::ASCII_8BIT)
end

について本スレで何かコメントでもあれば

421 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 07:01:52 ]
今時thenなんて使わないよね



422 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:01:53 ]
いや全然

423 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:05:40 ]
thenだけにー

424 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:07:52 ]
>>421
てめえちょっと表出ろ

425 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:10:26 ]
::Encoding::ASCII_8BIT より "ASCII-8BIT" のほうが短くていいな

426 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:22:33 ]
やたら短さだけに拘る人間の80パーセントはちんこ短い

427 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:25:15 ]
        で
        ト
        ン
        セ
       |
       パ
       0
       2
      り
     残
    た
よかっ

428 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 08:34:26 ]
respond_to?(:force_encoding) しろとか defined?(::Encoding) 使えとか言われてたな

429 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:29:54 ]
A-Zでカテゴリ選んで
A-Zで登録アプリを26^2個呼び出せる
CUIなランチャ作ったけど起動が重いな。
Lightspeed Languageの登場が望まれる。

430 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:50:50 ]
>>370
SafariというかWebkitの人が直してくれないから
https://bugs.webkit.org/show_bug.cgi?id=24906

431 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:53:41 ]
>>420
RUBY_VERSIONじゃなくて、>>428の言うとおりforce_encodingかEncoding見てください。

なお、勝手に俺バージョンのforce_encodingやEncodingを1.8で定義しないように。
その辺を見て分岐することが推奨されているので、MRI以外で死にます。



432 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:55:47 ]
>>420 >>425
文字列リテラル使うとオブジェクトが増える。

433 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:58:19 ]
ruby使ってんのに、小せえこと気にすんなよ

434 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 12:34:09 ]
>>431
> 勝手に俺バージョンのforce_encodingやEncodingを1.8で定義しないように。
Javaでも使っとれ

435 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 12:40:57 ]
1.8.7 で警告が出ない以上、>>431の主張はカス
Ruby 1.9 の Encoding が動作してくれないと困るのであるなら、そのように記述するべき
我々は実際には Ruby のメジャーバージョンを考慮しているのである以上、
スクリプトとしての記述もバージョンで分岐させるように書か「なければならない」

436 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 12:50:23 ]
>>432
どっちかというと文字列から Encoding の特定の定数を決定する処理の負担のほうが嫌気されるのでは
毎回いちいち探させるくらいなら定数として最初から書いておいたほうがプログラム的に親切
.encode('utf8') や encode('sjis') って動作したっけ、encode('EUC-JP-MS') って使えるのか、とか悩む必要もなし
定数だった場合は間違ってれば Ruby が uninitialized constant で教えてくれる

437 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 12:52:46 ]
初心者スレのだが、これくらい書けば問題ないのかも

if str.respond_to?(:force_encoding) && defined?(::Encoding::ASCII_8BIT) &&
str.respond_to?(:encode) && str.respond_to?(:encoding) &&
defined?(::Encoding::UTF_8) && str.class.new.encode(::Encoding::UTF_8).encoding == ::Encoding::UTF_8 &&
(_ = str.class.new.encode(::Encoding::UTF_8).force_encoding(::Encoding::ASCII_8BIT); _.encoding == ::Encoding::ASCII_8BIT) then
str.force_encoding(::Encoding::ASCII_8BIT)
end

438 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:06:30 ]
「添付ライブラリにEncodingがあるなら」とか
「標準のStringがforce_encodingを持ってるなら」とか
そういう指定の仕方ができないんだよね
それを唯一担保するのがRubyのメジャーバージョンなんだから仕方ないわ

439 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:10:19 ]
>>434 >>435 RailsとかtDiaryとかと混ぜた時に死にたいなら定義してもいいけど。

440 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:11:34 ]
>>438
MRI以外のこと忘れてない?

441 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:17:37 ]
>>440
respond_to? を通っても別のどっかで齟齬の例外が出てそもそも動かないことが逆に期待されるから別にいいじゃん(素

バージョン併用スクリプトの書き方のガイドは特急で作ったほうがいいかも



442 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:20:58 ]
>>438
だからそれが>>428だろ

443 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:23:31 ]
っ class Encoding; end


444 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:25:17 ]
str.force_encoding(::Encoding::ASCII_8BIT) rescue str

よし解決
皆の者我に続け

445 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:26:17 ]
1.9は文字コード面では完全に失敗だな。
2.0までにPython同様内部文字コードに変換する作りにしといてね。

446 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:38:28 ]
String そのものにエンコーディング機能のメソッドを新たに持たせたのがめんどくささの原因な気もする
String のエンコーディング関連は Encode のメソッドからしか操作参照できないようにしておけばあるいは

447 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:58:21 ]
>>445
Pythonのucs2/ucs4絡みとかUnicodeString絡みとか見ておいで

448 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 14:13:51 ]
>>446
いや、1.8互換ってのが茨の道なんだと思うけど。
> String のエンコーディング関連は Encode のメソッドからしか操作参照できないようにしておけばあるいは
他の言語ならそうしたかもね。

449 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:09:38 ]
だれだよ UTF-8 とか中途半端なの作ったやつ

はじめから 32bit ぐらいの幅にして、世の中の全種類の文字を一意に判定、
かつ少しぐらい文字が増えてもいいようなテーブル作っておけばよかったんだ

450 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:10:03 ]
つ UCS-4

451 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:15:27 ]
中途半端感がひどいのはUTF-8じゃなくてUTF-16だな



452 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:15:34 ]
>>449
UTF-8はUnicodeのエンコーディング方法の1つでしかない。


453 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:21:34 ]
UTF-8はこれでもずいぶんマシなんだよ
UTF-8以外のUnicodeや広域文字実装を実質全く見ないのがその証拠
どんなに理想的でも、利用されないと意味がない
そういう意味で大変戦略的な「とてもマシ」な代物

454 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:23:16 ]
どこの世界の話ですか

455 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:23:18 ]
>>448
「1.8」なんて存在しないだろ
あるのはオブジェクトがrespondするかどうかだろ

456 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:31:18 ]
>>455
まあ、これまでの理屈で言えばそうだな
1.8用や1.9用というバージョン分けの理由はないはず

457 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:32:48 ]
もう1文字4byteのRubyEncodingを策定しようぜ

458 名前:449 mailto:sage [2009/09/28(月) 17:38:33 ]
Unicode と UTF-8 という言葉をほとんど同義に使っていたけど、
もしかして違うの?

たしかに UTF-16 とか UTF-32 とか、UCS2 とか UCS4 という単語は聞いたことがあって、
どう違うのかはわかっていなかったけど

>>457
はげどう

でも ASCII オンリーな環境の時は、だいぶ無駄になっちゃうね

459 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:45:44 ]
>>458
語弊を恐れず一言で言えば概念と実装

460 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:46:37 ]
>>458
Unicodeってのは、規格群の総称のような感じで、
UTF-*は文字符号化形式及び文字符号化スキーム
UCS-*は符号化文字集合

461 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:55:38 ]
世界中のあらゆる文字に文字コードという数字を割り振ったのがUnicode
そのUnicodeをバイト列表現する(エンコードする)やり方が何種類かあってそれがUTF-*

って理解をしているんだけど



462 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 18:25:10 ]
>>449
前に書いた記事を読んでください、わからないところがあれば答えます。
gihyo.jp/dev/serial/01/ruby/0004?page=2

>>459
UnicodeはUTF-8を含むので違う。(ISO 10646はおいておいて)

>>460
おおむね正しいんだけど、UCS-2とUCS-4も文字符号化表現なんだよね。
d.hatena.ne.jp/nurse/20090325#1237964260

>>461
基本的に正しい。
世界中の文字を集め、Unicode scalar valueという数字を割り振り、
さらにその他文字を扱うのに必要な規格を定義しているのがUnicode。
その他の規格っていうのは、例えば「だいたいこれとこれは同じ意味の文字」
って処理をするための「Unicode正規化」とか、大文字小文字変換とか。
この辺まで定義しているのがUnicodeの凄いところ。
www.unicode.org/versions/Unicode5.1.0/

先述の通り、UTF-*だけじゃなくて、UCS-2とUCS-4もバイト列表現するためのやり方。

463 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 18:43:33 ]
>>456
じゃあバージョンとか本当はいらないんじゃね?

464 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 18:52:08 ]
>>463
スクリプトの実行者はスクリプトが実行されているシステムのこともRubyのことも知っていて
スクリプトを適宜修正可能であるというモデルを暗黙に設定してるのは確か

“お客様”であるという前提はあまりしてないはず

465 名前:445 mailto:sage [2009/09/28(月) 18:55:19 ]
>>447
見た上で言ってるんだが?
この点ではPythonは完璧。

466 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 18:59:56 ]
>UnicodeはUTF-8を含むので違う
概念は実装を含むと思うけど
仕様と実装のほうがよかった?
たとえばRubyと言えばMRIを含む(指す)ように

まあ一言なんて所詮はたとえ話みたいなもんだw

467 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 19:04:05 ]
>>464
例外出たら自分の環境に合わせて修正してもらえればいいんじゃね、というスタンスではある
rescue もいわゆるバージョン差異を埋めるために使うものじゃないわけでさ

468 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 19:04:41 ]
>>458はMatzのコードの世界を読むべき

469 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:24:45 ]
>>463
バグ報告対応で使います。

>>465
dsas.blog.klab.org/archives/51322951.html
この辺とか。
まぁ、言語を実装する側にとってもUCS正規化の方が楽だけどね。

>>466
なんか「抽象」は「具体」を含むと言っているように聞こえるんですが

470 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:38:09 ]
今日の名言

  概 念 は 実 装 を 含 む


471 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 22:58:07 ]
Rubyを支えるYuguiの自信 「最後にはわたしがいる」
jibun.atmarkit.co.jp/ljibun01/rensai/leader/33/01.html

Yuguiさんかっけええええええええ



472 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 23:12:18 ]
Yugui△

473 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:51:18 ]
yugui さん かっく

足りねえぞおい

474 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:55:22 ]
セクシーと言ったほうが喜ぶんじゃまいかい?

475 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:58:04 ]
>>473
さんかっけー
(ボケだったらスルーしてくれ)

しかしいい写真だな

476 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:00:55 ]
かっけー、のはいいとして、previewとか全然出てないんだけどどうなったんすか?

477 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:08:00 ]
>>476
RubyWorld conf での議論を受けて、スケジュール切り直し。
後日開発者会議で決定。
RubySpec全パスを目指すみたい。[ruby-core 25707]

上のメールで触れられている開発者会議は10月13日にダイビルで開催。
[ruby-dev:39404][ruby-core:25841]


478 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:57:05 ]
裸の王様ごっこはいつ終わるのですか?


479 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 08:16:38 ]
>>478
自分の妄想に正面から向き合う勇気を持てよ

480 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 09:23:06 ]
>>471
関連記事で気づいたんだが、富田倫生の「パソコン創世記」
@itが連載形式で掲載してたんだな。

全文、青空文庫で読めるわけだが。

481 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 09:56:09 ]
コレまじすか

【島根】 プログラミング言語「Ruby」開発者ら3人を松江市名誉市民に
ttp://tsushima.2ch.net/test/read.cgi/newsplus/1254271871/




482 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 10:04:43 ]
おお、クレヨンしんちゃんなんかと一緒ですな

483 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 15:59:07 ]
島根県マジだな

484 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 16:25:20 ]
負けるな取烏

485 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 19:37:11 ]
そして久しぶりにMatzにっきが更新された

486 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:02:02 ]
こっそりここ見てるんじゃないのか?w

487 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:04:42 ]
日記の内容的にそれはないと思うけど。


488 名前:デフォルトの名無しさん [2009/10/01(木) 00:09:23 ]
【島根】 プログラミング言語「Ruby」開発者ら3人を松江市名誉市民に
tsushima.2ch.net/test/read.cgi/newsplus/1254271871/

489 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:55:13 ]
プログラミング言語で村おこしとかすげえな
過疎で悩んでる地域はIT会社の誘致とかしろよ
ほとんどオンラインで出来るから場所は関係ないしな

490 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 03:10:02 ]
ほとんどオンラインでできるなら会社の社屋は都会にあったほうが便利
これまめちしきな

491 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 03:54:34 ]
家賃



492 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 04:01:39 ]
>>491
お前都会でしかネット使ったことないだろ

493 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 04:11:43 ]
NTTの支店があるような市でならうまくいく可能性はあるな
田舎は下手すりゃISDNだったりするからある程度都会だったほうがいいのは事実
社員集まれと言ったときにJRの駅がないとか非常に困る

494 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 04:23:10 ]
じゃあ間をとって地方都市の中心市街だな。
別に松江でいいじゃん。

495 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 04:34:56 ]
だからJRの駅がないと駄目だって言ってんだろ

496 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 05:42:21 ]
おまえJRってどういう意味で使ってるの?
旅行でビジネスホテル使ってもかなりブロードバンド引いてあるし
家の中にばっかいないで外に出ろよ

497 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 07:54:32 ]
>>496の考えてる田舎は既にかなり都会である件

498 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:25:59 ]
>>496
お前こそJRをどういう意味で使ってるんだ
駅だぞ? ブロードバンドが引いてあろうが何だろうが
交通手段が無いところでIT会社が成長するのは難しすぎる

499 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:34:10 ]
松江ってJRの駅ないの?

500 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:36:45 ]
>>499
JRの駅くらいしかない。


501 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:38:23 ]
普通に山陰本線だが、どうも>>498は新幹線とでも言いたいのではないかという気がして仕方がない



502 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:46:17 ]
松江厨が空気読めないレスをしております

503 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 09:11:31 ]
松江にJRの駅があるなら
初めから会話が成り立ってないな

504 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 09:19:55 ]
一畑も忘れんなよ

505 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 09:23:21 ]
セリーヌの金ピカ自転車に乗ってくるので交通手段の問題はありません

506 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 11:54:31 ]
日本にJRの駅がない県庁所在地はないだろ…
と思ったら、那覇があったか。

507 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 13:26:38 ]
>>494
確かに>>490は「都会」とは言ってるが「首都圏」とまでは言ってないからな

508 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 15:56:30 ]
ちょっと質問
Ruby1.8 と Ruby1.9 で併用するスクリプトで文字列のエンコーディングの変換をしたいんだけども
Ruby1.9 では String#encode を使ったほうがいい?
共通で使えるから Iconv.conv でいいやーとかはダメ?

509 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 17:57:42 ]
隣の机でもメールで会話してるアフォPGも居るから、
距離は微妙だな。
客は大都市圏のほうが多いから、営業と打ち合わせは大都市に事務所無いとコスト掛かるな。

510 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 18:02:18 ]
>>508
併用かつ常に同じiconv実装を使える保証があるならIconvでいいと思う。
保証が無くて、CP932やCP51932くらいしか使わないのだったらNKFの方がよい。
どちらでもないなら場合によるかなぁ。

511 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:21:07 ]
1.9でYAML.loadしたらハッシュはYAMLに書いた順番通りになりますか?



512 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:44:52 ]
>>510
そういえば1.8の$KCODEって
sはCP932,eはCP51932を期待していいもんなんだろうか
なんとなくWindowsは期待していい気がするけど他OSだと微妙な気がしてきた

513 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 11:34:22 ]
Ruby1.9 で日本語文字列を inspect するとコンソールのエンコーディングによっては前時代的に表示が崩れるよね
Ruby1.8 の時より退化してるような気がしなくもないんだが、なんか超賢い irb の設定とかある?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef