Rubyについて Part 32at TECH
Rubyについて Part 32 - 暇つぶし2ch1:デフォルトの名無しさん
08/07/09 00:32:32
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

Ruby Home Page
URLリンク(www.ruby-lang.org)

= 前スレ
Rubyについて Part 31
スレリンク(tech板)

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

2:デフォルトの名無しさん
08/07/09 00:33:55
Ruby 初心者スレッド Part 20
スレリンク(tech板)

【ActiveScript】RubyをWindowsで使うスレ【GUI】
スレリンク(tech板)

Rubyの宿題教えてください。2限目
スレリンク(tech板)

Ruby>>>>>Java
スレリンク(tech板)


【↓アンチ系】

Rubyについて(アンチ専用) Part003
スレリンク(tech板)

Rubyは難しすぎ
スレリンク(tech板)

【カルト】Ruby開発者Matz【モルモン】
スレリンク(prog板)

3:デフォルトの名無しさん
08/07/09 00:34:26
Rubyリファレンスマニュアル刷新計画
URLリンク(doc.loveruby.net)
ライブラリ一覧
URLリンク(doc.loveruby.net)
RubyExtensionProgrammingGuide
URLリンク(i.loveruby.net)
Ruby Hacking Guide
URLリンク(i.loveruby.net)
Symbol < Stringも止める。
URLリンク(www.rubyist.net)
クラスローカルインスタンス変数
URLリンク(www.rubyist.net)
クラス変数
URLリンク(www.rubyist.net)
ローカル変数
URLリンク(www.rubyist.net)
可視性メモ
URLリンク(www.rubyist.net)
URLリンク(blade.nagaokaut.ac.jp)
URLリンク(blade.nagaokaut.ac.jp)
YARV without 1.9
URLリンク(www.rubyist.net)
URLリンク(www.atdot.net)
URLリンク(i.loveruby.net)
JSON
URLリンク(json.rubyforge.org)
URLリンク(webos-goodies.jp)
URLリンク(webos-goodies.jp)
YAML
URLリンク(www.ruby-lang.org)
URLリンク(jp.rubyist.net)
URLリンク(www.namikilab.tuat.ac.jp)

4:デフォルトの名無しさん
08/07/09 00:35:06
Ruby/Gtk+
URLリンク(www.unixuser.org)
URLリンク(takeposo.sakura.ne.jp)
URLリンク(ruby-gnome.sourceforge.net)
URLリンク(ruby-gnome.sourceforge.net)
URLリンク(ruby-gnome2.sourceforge.jp)
URLリンク(psux1.kek.jp)
URLリンク(www.rubycgi.org)
URLリンク(ruby.gfd-dennou.org)
URLリンク(www.magicianmaster.jp)

5:デフォルトの名無しさん
08/07/09 00:35:38
Ruby on Rails
スレリンク(tech板)
URLリンク(jp.rubyist.net)
URLリンク(www.onlamp.com)
URLリンク(kyotosanga.com)
URLリンク(blog.hacklife.net)
URLリンク(www.metadata.co.jp)
URLリンク(japan.cnet.com)
URLリンク(japan.cnet.com)
URLリンク(journal.mycom.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www-06.ibm.com)
URLリンク(itpro.nikkeibp.co.jp)
URLリンク(itpro.nikkeibp.co.jp)

6:デフォルトの名無しさん
08/07/09 01:10:22
Wikiの件、情報感謝
でも人が少ないんじゃね・・・・・・

7:デフォルトの名無しさん
08/07/09 01:30:22
編集する人が少ないという点で言えば、旧Wikiリファレンスもどっこいどっこいではある

ただまぁ、やっぱり参入障壁が高くなってしまったのは一つのデメリットだよな
バージョン間の違いについての正確さを求めるための、やむを得ない制限なのだろうとは思うが

8:デフォルトの名無しさん
08/07/09 10:38:44
重複です。こっちに合流しましょう。
スレリンク(tech板)

9:デフォルトの名無しさん
08/07/09 10:59:21
またすぐそうやって釣ろうとする

10:デフォルトの名無しさん
08/07/09 12:55:26
なに釣られてんの?

11:デフォルトの名無しさん
08/07/09 18:46:05
質問だよ

kconv と iconv と uconv (とNKF)はどれをメインで使っていけばいいの?
1.8.6 使いだけど 1.9 系列も視野に入れてアドバイスくれくれ

12:デフォルトの名無しさん
08/07/09 18:57:19
>>11
1.9だとStringにencodeというメソッドが追加されるのでどれも使わなくていい。

13:デフォルトの名無しさん
08/07/09 19:03:53
1.9.4 くらいでは何も require しなくてもよくなってる
といいなあ
外国の人は怒りそうだけど

14:デフォルトの名無しさん
08/07/09 19:19:18
>>11
文字コードの自動認識が必要ないならuconv
自動認識が欲しいならkconv(もしくはnkf)

15:デフォルトの名無しさん
08/07/09 19:44:28
uconvは標準添付されてないのが糞

16:デフォルトの名無しさん
08/07/09 22:38:50
iconvでいーじゃん。


17:デフォルトの名無しさん
08/07/09 23:59:23
iconvは引数の順番がいつまでたっても覚えられない

18:デフォルトの名無しさん
08/07/10 00:13:23
require 'iconv' したら String#toutf8 とかも定義されればいいと思うのは俺だけ?
ダックタイピングwのRubyなんだろ?なんでoriginのインターフェイスにこだわるかな


19:デフォルトの名無しさん
08/07/10 00:18:42
>>18
エンコーディングメソッドいくつ定義する気だよ。


20:デフォルトの名無しさん
08/07/10 00:20:49
とりあえず、あるだけでいいんじゃね?
どうせラッパのラッパなんだから、それほどの手間じゃ無かろうが

KconvとのAPI互換性だけでも有意義だとは思うが

21:デフォルトの名無しさん
08/07/10 00:38:14
>>18
そういった意味では、NKFは糞だな。今日日Unixerでもnkfを日常的に使ってる
人間なんて、少なくとも若手ではそんなにいないんじゃね?

22:デフォルトの名無しさん
08/07/10 00:39:13
require 'iconv'で String#toeuc tosjis toutf8などが定義されるとして、
元コードは何と想定すればいいんだろうか。$KCODE?


23:デフォルトの名無しさん
08/07/10 00:44:48
>>22
Kconvではそうなの?Kconv::AUTOの自動検出ってそういう意味だったのか?
それでは統一しづらいな

24:デフォルトの名無しさん
08/07/10 00:49:04
そこでKconv.guessですよ。(本末転倒)


25:デフォルトの名無しさん
08/07/10 01:16:03
>>19
そこはmethod_missing経由で動的に定義するということで。

26:デフォルトの名無しさん
08/07/10 02:42:13
iconvは不正な文字列だと例外起こすから結構面倒。
意外に(?)nkfが使いやすい。

27:デフォルトの名無しさん
08/07/10 05:06:14
nkf/kconvは使いやすいけど、バージョンによってUTF-8に対応してないのが致命的

28:デフォルトの名無しさん
08/07/10 07:25:50
Rubyのiconvでも//IGNOREとか//TRANSLIT使えるんじゃないの?

29:デフォルトの名無しさん
08/07/10 17:26:10
初めてのRubyがなんか売り切れてた件について
デカい誤植で回収かなんかですか?
完全解説が完全説解になってたくらいなら上からシール貼っちゃえばわかりませんって

30:デフォルトの名無しさん
08/07/10 17:37:42
下手に大きな文字だと脳がスルーして却って間違いに気づけないんだよな

初めてのRubyはなんかわりと人気らしいぞ
ちょっと前に初心者向けRuby本出した人涙目

31:デフォルトの名無しさん
08/07/10 18:51:23
普通に言語仕様が解説されてるだけなんだが、まとめ方がすごくうまいんだわ。

他の人が書いたら退屈になってもおかしくないのになぜか面白い。

コンパクトなので気軽に手に取れて、知りたい情報が簡単に探せる。

同じところを何度も読み返したくなってしまうほど文章の質が高い。

まあ俺がおおざっぱにRubyを知ってる初級者だからよけい面白く感じたという
のはあるかもしれないが、完成度は高いと思うよ。

32:デフォルトの名無しさん
08/07/10 19:44:28
会員の高野光弘とやらが、非常識な言動をしていることについて、
日本Rubyの会はどう考えているのでしょうか?



33:デフォルトの名無しさん
08/07/10 20:21:20
定数の探索順とかまでちゃんと書いてある?

34:デフォルトの名無しさん
08/07/10 21:55:25
>>32
このスレに書き込んでいるあなたが非常識な行動を繰り返していることについて、
このスレ住人として遺憾に思っているのですが、あなたはどう考えていますか。

35:デフォルトの名無しさん
08/07/11 07:22:19
>>33
それどんな話?

36:デフォルトの名無しさん
08/07/11 08:07:32
どんなことを言ったわけ?
>>32だけじゃきになるじゃまいか


37:デフォルトの名無しさん
08/07/11 08:26:28
>>36
URLリンク(www.google.com)

38:デフォルトの名無しさん
08/07/11 12:39:17
etags使い物にならないことに気がついた.
ポリモーフィズムで同じメソッド名が複数あるとき,
タグジャンプ先のクラスを選べない.

Emacs で implementers_of みたいな検索できるツールはないのかな


39:デフォルトの名無しさん
08/07/11 12:57:39
etagsがだめならgtagsがあるじゃない、と思ったがあれはRubyに対応してたっけ

40:デフォルトの名無しさん
08/07/11 13:05:16
>>39 対応してない

> support C, C++, Yacc, Java and PHP4.


41:デフォルトの名無しさん
08/07/11 13:07:09
前々から思ってたけど、EmacsってRubyプログラミング環境としてはあまりよくないよね

42:デフォルトの名無しさん
08/07/11 14:02:09
言語としての盛り上がりの割には便利環境ができてないのは確かだ
というような話を3年くらい前にもしたような気がする
お前ら本当はRubyでたいしたこと書いてないんだろ、という気がせんでもない

43:デフォルトの名無しさん
08/07/11 19:03:51
自分でRuby用のクロスプラットフォームなエディタを作りたい! と常々思っているんだが
コード解析して色付けるのが面倒で、今でも机上の空論どまり

>>42
みんな普通のエディタで書いてるんだよきっと

44:デフォルトの名無しさん
08/07/11 20:06:09
NetBeans とか使いやすい?

45:デフォルトの名無しさん
08/07/11 20:47:59
インストールしようとしてみればわかる

46:デフォルトの名無しさん
08/07/12 00:42:50
普通のエディタか。
VimとかEmacsとかとか

Winだと何がいいんだろー、サクラエディタとか?

47:デフォルトの名無しさん
08/07/12 01:33:06
>>46
サクラは、デフォルトでRubyダメだった気が・・・自分で足すのめんどくさいし・・・
まあ大人しくVimで良いと思うんだけどねw
最近は、Notepad++ってのがいい感じ。日本語気にしないのならだけどw

でもまあRubyなんてRailsくらいしか無いんだし、Windowsでサポートされないのも当然と言えば当然なのかもね
環境よりライブラリの方が重要な気がするし・・・

48:デフォルトの名無しさん
08/07/12 02:24:33
誰もxyzzy使ってないのか・・・ruby-modeもあるよ

49:デフォルトの名無しさん
08/07/12 02:36:30
標準で入ってないだろ>ruby-mode

50:デフォルトの名無しさん
08/07/12 02:45:26
標準で入ってるのを探す方が難しいんじゃないか
Emacsにも入ってないし。

色付けとインデントしてくれるだけならGeditがやってくれる。



51:デフォルトの名無しさん
08/07/12 06:22:11
sakuraはカーソル移動が糞になってからエディタとして見捨てた

52:デフォルトの名無しさん
08/07/12 07:47:55
[ruby-dev:35409]
こりゃひどいな。誰だよ学生の藤森くんって。

53:デフォルトの名無しさん
08/07/12 09:04:22
そろそろ ruby 1.8.8?

54:デフォルトの名無しさん
08/07/12 11:51:18
>>48-49
ついでに、継続サポートしてくれてるのもないよね

55:デフォルトの名無しさん
08/07/12 14:14:33
エディタが継続をサポート?


56:デフォルトの名無しさん
08/07/12 14:17:44
明示的に保存して終了しなくても自動保存して再開してくれるステキ機能です

57:デフォルトの名無しさん
08/07/12 14:20:08
>>53
それより早く1.9.1を出してください><

予告を信じるとすると、今年のクリスマスだからまだ半年先か・・・長いな

58:デフォルトの名無しさん
08/07/12 14:36:32
>>57
1.9を使う人間ならsvn-snapshotを取得しなさい><

1.9はイイヨイイヨー

59:デフォルトの名無しさん
08/07/12 15:07:24
>>56
なるほど。
Rubyで継続というと、ついついcallcc/Continuationクラスのことだと
思ってしまうのさ。


60:デフォルトの名無しさん
08/07/12 15:23:39
あ、適当に喋ったのに納得した

61:デフォルトの名無しさん
08/07/12 15:32:14
>>58
exerbやRuby/SDLをruby1.9で使いたいんです><

62:デフォルトの名無しさん
08/07/12 15:41:08
exerbはともかくRuby/SDLは使えるじゃん。何か問題あったっけ?

63:61
08/07/12 18:22:56
今ようやく気づいたんだが
exerbの最新版(4.7.0)には、開発版コアとしてruby1.9.0関連のファイルが含まれているようなので
なんとかしてコンパイルできればruby1.9.0でも使えるかもしれない

>>62
そうなのか!? と思ってruby1.9.0-2で試してみたら
Segmentation Faultで落ちた(´;ω;`)ウッ…

64:デフォルトの名無しさん
08/07/12 19:34:05
>>44
ちょっと触ってみた感じでは悪くなさそう
Eclipseより導入楽だし、軽くて使いやすいと感じた
俺自身はあんまりIDE使わないから、細かな評価は出来ないが

65:デフォルトの名無しさん
08/07/12 20:33:59
>>63
Ruby/SDL普通に動いたが。まさかgemやら1.8のバイナリ使ったとかじゃないだろうな
1.9でextconfしてもダメなら、どんなスクリプト走らせたか見せてくれ

66:63
08/07/12 20:59:27
>>65
ということは、俺の環境に何か問題があるのだろうか……

走らせたスクリプトは、Ruby/SDL付属のサンプルコード(どれを走らせても同じエラー)
環境は
Windows XP Home
ruby 1.9.0 (2008-06-20 revision 17482) [i386-mswin32]
Ruby/SDL 2.0.1a(win32版)
exerb未使用(ruby.exeから直接実行)

ちなみにRuby/SDL側の推奨するバージョンはruby1.8.6ですが、ruby1.8.7で動くのは確認しました
バイナリ版なのでextconf.rbは未使用

67:デフォルトの名無しさん
08/07/12 21:10:59
だからよ、そのRuby/SDLは1.8用のバイナリだ
1.9は1.9用のバイナリを自分でコンパイルしなきゃならんの

68:66
08/07/12 22:08:21
>>67
すまない、ようやく理解した。情報ありがとう
とりあえずコンパイルできるかどうか挑戦してみる。無理そうならruby1.9.1対応のバイナリ待つ

69:デフォルトの名無しさん
08/07/12 22:15:55
ねえねえ、どうしてやってからレスしないの?
あなた個人を責めてるわけではないから教えてよ

70:66
08/07/12 22:31:50
>>69
Ruby/SDLの配布ファイル名は「rubysdl-2.0.1a-mswin32-1.8.6-p114.zip」となっている
このファイル名からすると、ruby1.8.6-p114を使わないと正常に動かない?

しかし実際には、1.8.6でも1.8.7でも問題なく動く

ということは、ここに書いてあるバージョンは参考程度のもので
同じmswin32版であればrubyのバージョンにかかわらず同じバイナリが使えるはず!

なら動作しない原因は、今のPC環境にある?

という思い込みのため

71:デフォルトの名無しさん
08/07/13 11:04:08
>>64
そっか、ちょっと使ってみる

72:デフォルトの名無しさん
08/07/13 11:05:51
NetBeansを「軽い」とか言う奴を信用するのはバカ

73:デフォルトの名無しさん
08/07/13 15:04:17
>>72
IDEとしては相対的に軽いって話
誰もテキストエディタと比較してない

74:デフォルトの名無しさん
08/07/13 17:14:34
いまどきIDEが重いとか言ってるやつはPC買い換えろよw

75:デフォルトの名無しさん
08/07/13 18:00:04
それはそれで正しいが、IDEが重いというそもそもが異常ではある

76:デフォルトの名無しさん
08/07/13 18:00:48
IDEってなんであんなに重いんだ
大雑把に言って、テキストエディタに色々な便利機能を追加しただけのアプリケーションのはずなのに

77:デフォルトの名無しさん
08/07/13 18:10:31
非常に賢い動作をする動的補完が便利さと引き換えに重たい


…ということになっている
Emacsの略語展開の動作を知ってるとどうにもウソ臭いがな
あれを進化させてなんであんなに重たくなるんだよ
しかも各社のIDEが揃いも揃って全部動作重たいとか何か談合とかでもしてるんかオラ

起動が遅いのはJavaのせいなのでまああれはあれで

78:デフォルトの名無しさん
08/07/13 18:57:11
補完リストの自動ポップアップとか、「自動的」な機能を無効化するだけでかなり軽くなる
明示的に補完したい時は特定のキーを押す(Ctrl+space等)設定にしておくと良い
# 補完機能を無効化するんでなくて、自動補完機能を無効化する点に注意

79:デフォルトの名無しさん
08/07/13 18:59:02
Emacsの略語展開(笑い)

こんなしょぼいのと一緒にするなよ

80:デフォルトの名無しさん
08/07/13 19:08:06
断言してもいいが本質的には一緒だ
対象データと分岐判断がちょっと(ちょっと?)膨大だが

81:デフォルトの名無しさん
08/07/13 21:16:21
>断言してもいいが本質的には一緒だ
なんというRuby全否定・・・

82:デフォルトの名無しさん
08/07/14 15:31:03
メソッド名ぐらい覚えろよ・・・
でも、irb/compeletionで出来るぐらいの補完もruby-modeで出来ても
いいかもね。

83:デフォルトの名無しさん
08/07/15 01:47:55
>>80
>断言してもいいが本質的には一緒だ
>対象データと分岐判断がちょっと(ちょっと?)膨大だが

うんにゃ、全然違う。
Emacsのdabbrevは文字列のパターンマッチしているだけ。
EclipseやNetBeansの補完はコードを構文解析したりclassファイルを読み込んでやっている。
これがパターンマッチと同じわけがない。
Emacsは文字列を編集していて、IDEはコンパイラを内蔵して構文木を編集している。

84:デフォルトの名無しさん
08/07/15 02:13:09
何その面白機能
というかそういう解説はいったいどこに存在してるんだ?

85:デフォルトの名無しさん
08/07/15 10:52:37
URLリンク(doc.okkez.net)
> add_filter {|event, file, line, id, binding| .... }

ブロックの引数に klass が足りないんだが
どこにpostすれば直してくれるんだ?

86:デフォルトの名無しさん
08/07/15 12:11:24
cygwin 版 ruby なんですが。

fn = "c:/foo/bar/hoge.rb" のとき
File.exist?(fn) && File.directory?(File.dirname(fn)) が true で
load(fn) とか require(fn) は OK なのに、

$:.unshift(File.dirname(fn))
require('hoge')

が失敗するのは何かの嫌がらせですか?
cygwin なんか使うのが悪いですか?

87:デフォルトの名無しさん
08/07/15 12:15:38
きちんとCygwin形式のファイルパスで書け

88:デフォルトの名無しさん
08/07/15 16:08:13
だったら $0 や __FILE__ も Cygwin パスに変換して下さいよ。
あるいは最初から c:/xxx/script.rb 呼び出しをエラーにして下さいよ。
中途半端なのが一番サポートが面倒だ。

89:デフォルトの名無しさん
08/07/15 16:33:19
いやいやいやいや、Cygwin 使うような奴が "c:/foo/bar/hoge.rb" とかそもそも書くなよ
それは /cygdrive/c/foo/bar/hoge.rb だろ

90:デフォルトの名無しさん
08/07/15 16:56:21
そりゃ俺はそう書かねえよw
開発環境が Cygwin 前提なんよ。だがまあそれはいいんだ。

確認したかったのは、最近の Cygwin は c:/xxx 形式もそれなりに取り扱えるように
なってるっぽいけど、なんで Ruby の特定のケースだけそうじゃないのか、ってこと。
仕様ならそれでいいんだ。避ける手段はいくらでもあるし。

91:デフォルトの名無しさん
08/07/15 17:16:48
ITSにいれとけ。
URLリンク(redmine.ruby-lang.org)

92:デフォルトの名無しさん
08/07/19 19:40:36
しつもーん
ブログとかあるいは何かプログラム公開サーバでスクリプト書くじゃないですか

begin
File.open(path){|f| f.read}
rescue Errno::ENOENT
raise "#{path} does not exist!"
end

という例外キャッチ&メッセージを実際のスクリプトで書くのはほとんど意味ないよね?
Errno::ENOENT の例外を読めばみんなわかるから普通はいらないよね?

93:デフォルトの名無しさん
08/07/19 19:55:00
>>92
そのファイルが何かにもよる
ほげ用ファイルが読み込めません例外というのを作って出したほうがわかりやすいこともあるだろう

が、ライブラリ使用者が引数で指定したファイルが存在しないのでそもそも読めませんというような場合は
組み込みのエラーを出すほうがたぶん親切だろうと思う

94:デフォルトの名無しさん
08/07/19 21:25:14
558 デフォルトの名無しさん [] Date:2008/07/17(木) 00:20:12  ID: Be:
    >> 552
    仕事でRuby使ってる俺から言わせるとPythonめちぇめちゃ速いですw

561 デフォルトの名無しさん [sage] Date:2008/07/17(木) 14:58:10  ID: Be:
    558じゃないけど、Rubyはcsvパーサが遅いです
    29万件の処理で
    Ruby 45分
    Python15秒でした



45分wwwwwwwwwwwwwwwwwwwwwwwwwww

95:デフォルトの名無しさん
08/07/19 21:33:40
そのせいで高速な非標準csvパーサがごろごろしているruby
標準を捨てれば無問題

96:デフォルトの名無しさん
08/07/19 21:40:03
うむ、有名な話だな
csv.rb は遅いぞ
どのくらい遅いかというと FasterCSV という恥ずかしい名前のライブラリがデファクトになるくらい

というか、Python の CSV パーサはあれ中身 Python じゃなくて C だから比較対象としては不適
Python がインストールされてる場合は Ruby から Python を呼ぶのが最速とかわけわからん事態に

97:デフォルトの名無しさん
08/07/19 21:41:20
もともと標準添付のCSVパーサは遅いし、PythonのはCで書かれてる
RubyでもLightCSV・CSVScanとかを使えばだいぶマシになるとの話

98:デフォルトの名無しさん
08/07/19 21:45:25
>>92
うん、普通はいらない

99:デフォルトの名無しさん
08/07/19 21:52:58
rubyのくそwebスクリプトで例外垂れ流してるやつあるけど、あれなんなの


100:デフォルトの名無しさん
08/07/19 21:54:02
iPhoneの設定ユーティリティがRailsらしいね

まじrailsのおかげで世界に広がるな>ruby

101:デフォルトの名無しさん
08/07/19 21:58:43
>>99
phpに比べれば数も少なくて可愛いもんだぜ

102:デフォルトの名無しさん
08/07/19 22:08:59
railsをdevelopmentモードで動かしてる企業サイトとか有ったなあ

103:デフォルトの名無しさん
08/07/19 22:09:58
実際、「標準添付のライブラリが遅い」という事実は、Pythonと比較して欠点だとは思う

これに限った話じゃないが、Rubyの標準添付ライブラリってなんかアンバランスだよな
「せっかく1.9で新しくなるんだからもっと便利で強力なの付けてくれよ」ってのがいろいろある
全体的に見ればとても充実しているライブラリ群なのに、妙なところで古いの使ってるというか

104:デフォルトの名無しさん
08/07/19 22:11:39
何でどんどん置換していかないんだろうか
まつもと氏が熱心じゃないから?

105:デフォルトの名無しさん
08/07/19 22:15:51
>>101
Rubyの糞ライブラリを知ってればそんなこと言わないで済んだのにな

106:デフォルトの名無しさん
08/07/19 22:21:53
>>104
>>105みたいな人が邪魔するんだよ

107:デフォルトの名無しさん
08/07/19 22:52:16
Railsって嫌われてるのん?

108:デフォルトの名無しさん
08/07/19 22:55:02
>>107
わりと別物なので、混同する人は嫌がられるな

109:デフォルトの名無しさん
08/07/19 22:58:16
Rubyの性質をうまく使った成功例ではある・・・・・

110:デフォルトの名無しさん
08/07/20 00:07:51
CSVパーサもそうだし、インスコ時のRDocもそうだけど、
大量のデータに使われることが明らかなのに
なんで最初から速度を考えて作らないの? バカなの?

111:デフォルトの名無しさん
08/07/20 00:21:03
> 大量のデータに使われることが明らかなのに

どれくらい明らか?
どれくらい大量?
どれくらいの頻度で?

112:デフォルトの名無しさん
08/07/20 01:30:06
>>111
つか、インストールのときRDoc遅えとか感じないの?
94とか見てもなにも思わないの?
もし開発側の人間でそんなこと想像できないようじゃ正直終わってる
どうせ早すぎる最適化云々、とかいって何も手を打たねえんだろwww

113:デフォルトの名無しさん
08/07/20 01:48:39
csv.rbをたまに使うけど遅いと感じたことないなあ
もしcsvの処理で何分もかかるとしたらcsvなんかで管理しようとしてんのが
そもそもおかしいんで、俺ならsqlite使うわ

114:デフォルトの名無しさん
08/07/20 01:50:20
>>112
URLリンク(jp.rubyist.net)
この辺読んでから君が頑張れ

115:デフォルトの名無しさん
08/07/20 01:56:15
>>113
…CSVは可搬フォーマットであることが存在理由なの
誰が好き好んでテキストベースで行志向な単一ファイルにデータを保存したがるんだよ

116:デフォルトの名無しさん
08/07/20 02:00:51
>>111の返しを、実名で、本気で、やりかねないのがRubyの人達だからねぇ。

117:デフォルトの名無しさん
08/07/20 02:39:16
>>112
それを困ったもんだと思ってるなら、こんなとこでくだ巻いてないで、もうちょっと改善の見込みがある手段取れよ。
少なくとも、今まで改善されなかったってことは、それが問題だと思って行動したやつがいなかったってことだから。
何も自分でコード書けとは言わん。MLで問題提起するなり、URLリンク(redmine.ruby-lang.org) に登録するなりすればいい。
それでも動かなきゃ、その程度のコミュニティってことだろう。

118:デフォルトの名無しさん
08/07/20 03:54:41
pythonのはcだからなんて詭弁すぎて笑えんな。もしcが有効なら、rubyに最初からcで組み込んでおいて然るべきだろうな。うんざりするほどメソッドを多重に組み込むくせに地味なパーサはどうせ嫌がって誰もやらないというオチだろ。

119:デフォルトの名無しさん
08/07/20 03:58:39
>>118
お前がやれ

120:デフォルトの名無しさん
08/07/20 04:45:58
>>118
誰かが作ったのを見て鼻で笑う準備なら、
既にコミュニティの全員が整えてるんですけどねw

121:デフォルトの名無しさん
08/07/20 04:55:14
Rubyのコア部分に関してはYARVとか順調に進んでるわけで、
添付ライブラリを便利そうだというだけで増やそうとするのが問題な気がするなあ。
標準に取り込むなら、C++ Boost みたいにきちんとした Formal Review のプロセスを
設けるとか… あるいは RAA や Gems を CPAN レベルまで育てるか…


122:デフォルトの名無しさん
08/07/20 09:08:18
>>118
Cでエクステンションを作るとCの問題を抱える
たとえば、PythonのCSVモジュールはUnicodeで書き込めないし、ヌル文字で問題を起こす
たかがスクリプト言語のモジュールのくせにバイナリで、参照・訂正するには本体ソースコードを持ってきて自分でコンパイルしないといけない

123:デフォルトの名無しさん
08/07/20 09:32:14
>>118みたいな人がいなければもう少し早く事が進む
これは断言してもいい

124:デフォルトの名無しさん
08/07/20 09:41:32
>>123
煽りとかでなく本当に理屈がわからないから説明してくれるとありがたい
文句言う人と実装する人に何の関係が?

125:デフォルトの名無しさん
08/07/20 09:42:54
>>121
Net::HTTP がもう少し書きやすくて URI モジュールを活用してれば open-uri っていらないよな
ユーザーが Ruby 本体の記述能力を活用するだけでいけると思うんだ

126:デフォルトの名無しさん
08/07/20 09:57:10
Net::HTTPなんかすぐに見限ったな

127:デフォルトの名無しさん
08/07/20 10:03:03
>>125
open-uri は URI に open メソッドをつけたのがパラダイム
関数的メソッド open の拡張などというのはただの目くらましに過ぎない
Net::HTTP は HTTP::Access として URI の下に置かれて隠蔽されるべき
強化すべきは File.open に対応する URI.open

128:デフォルトの名無しさん
08/07/20 10:05:05
ついたのは read メソッドだっけ、まあ言いたいことはたいして変わらないからいいや

129:デフォルトの名無しさん
08/07/20 10:11:38
みんなライブラリにはいろいろ言いたいことあるんだな
このスレで意見まとめて、ITSかruby-devに提案したらいいんじゃね?
ちょうど1.9.xでのライブラリ見直しやってて、いいタイミングだし

130:デフォルトの名無しさん
08/07/20 10:11:40
>>127
それは気持ち悪い

131:デフォルトの名無しさん
08/07/20 10:26:52
>>127
それは単に Net::HTTP を使わせる解説が撲滅されれば問題なしだな
「ユーザーが使うのは open-uri だけ、Net::HTTP はライブラリ内で呼ばれるライブラリ」
という認識になれば不幸な事故も減るかと
さあ net/http.rb のマニュアルページからエンドユーザ向けの使用例を消すんだ

132:デフォルトの名無しさん
08/07/20 10:34:31
>>131
現在は多くのネットアクセスライブラリが Net::HTTP をそういう扱いしてるな
稀~に open-uri を使ってる気軽なやつもあるが

結局は過去のRuby解説が足引っ張ってるって感じなのかね

133:デフォルトの名無しさん
08/07/20 14:23:33
改行してまで三項演算子使う人って馬鹿なの? if って打つと死ぬの?

134:デフォルトの名無しさん
08/07/20 16:28:17
>>133
Rubyでそんなことできるの?

135:デフォルトの名無しさん
08/07/20 16:33:14
>>134
できるね。行末を演算子かバックスラッシュにすれば。
puts true ?
1 :
2
各節が長くなれば、有効な場合もあるかもと思うんだが。

136:デフォルトの名無しさん
08/07/20 17:22:46
>>131
Net::HTTP.start(uri.host, uri.port) というのが結局最後までマニュアルに載らなかったのが残念だ

137:デフォルトの名無しさん
08/07/20 17:38:40
殺すなー
まだ生きてるー

138:デフォルトの名無しさん
08/07/20 22:18:26
URLリンク(jp.rubyist.net)

MySQLが死んで中身モロ見えわろた

139:デフォルトの名無しさん
08/07/20 22:25:01
あらららら

140:デフォルトの名無しさん
08/07/20 23:22:18
eroani?

141:デフォルトの名無しさん
08/07/21 00:46:09
>>131
open-uriはオレオレ証明書を問答無用ではじくのがつらい。
社内限定サーバとかでオレオレ証明書を使ってるとこがあるんす。

142:デフォルトの名無しさん
08/07/21 10:27:50
外人さん製のライブラリがあります
日本語のファイルを読ませることがあるんですが、もちろんそんなんUTF-8以外考慮されてません

「もし既にエンコード変換関係のライブラリがrequieされててNKFクラスが存在してたら
読み込んだファイルをNKFでこっそりUTF-8に変換する」

というローカライズっぽい処理をメソッド上書きで入れるというのは邪悪ですか?

143:デフォルトの名無しさん
08/07/21 11:46:58
>>142
いや、実のRubyらしい対策じゃないか?
Railsの邪悪さに比べればまだまだ。

144:デフォルトの名無しさん
08/07/21 12:19:32
NKF と UTF8 はバージョンがめんどくさいので
Rubyのバージョンの限定がないのなら、いきなり NKF.nkf しておいて
NKFってなんすか食えるんすか例外を rescue して通常処理させたほうがいいかも

145:デフォルトの名無しさん
08/07/21 19:47:27
>>129
いい意見だとは思うけど、今のところcsvの話しか出てないぞ
ほかに何があるだろう・・・mailreadとか、ERbとか?
Test::Unitやcgi.rbの置き換えについては、もうMLで話されてるみたいだし

>>142
言うまでもないかもしれないが
やるなら直接上書きするより、サブクラスを作って上書きした方が良いよ

146:デフォルトの名無しさん
08/07/22 09:17:34
Ruby
URLリンク(iroiro.alualu.jp)

Python
URLリンク(www.toto.co.jp)

147:デフォルトの名無しさん
08/07/22 13:07:08
また引っかかってる人がいたぞ
win32 では -0 や -0.0 が 0 や 0.0 になるってマニュアルかどっかにでっかく書いとけ

148:デフォルトの名無しさん
08/07/22 15:22:45
>>147
ITSにバグとして載ってるよ

149:デフォルトの名無しさん
08/07/22 15:33:25
-0.0 はともかく -0 は 0 だろ

150:デフォルトの名無しさん
08/07/22 15:43:16
ていうか -0 とか -0.0 ってなんなの? マイナスつけないと怒られるの?

151:デフォルトの名無しさん
08/07/22 15:52:30
>>150
宿題スレで指摘があったが、マイナス 0 は
-0 …… -1 < x < 0
-0.0 …… -0.1 < x < 0
の x の範囲を示すことがある
これらを仮に「0とかでいいじゃん?」ということにすると、

2 …… 2 =< x < 3
1 …… 1 =< x < 2
0 …… -1 < x < 1
-1 …… -2 < x =< -1

と、 0 の代表する範囲だけが幅 2 になってしまう
-1 に含めることにしてもやっぱそこだけ「幅」が 2 だ

152:デフォルトの名無しさん
08/07/22 15:55:58
HTML版マニュアル生成元データとしてのRDocの
ちょうわかりやすい書き方を解説したサイトってない?

153:デフォルトの名無しさん
08/07/22 16:17:54
IEEE754ではそういう数が定義されている。

整数ではふつう無理(2の補数で表現する限り)。

154:デフォルトの名無しさん
08/07/22 17:14:27
>>151
??数学とかコンピュータの理屈とか、全く疎いんだけど

2 …… 2 =< x < 3
1 …… 1 =< x < 2
0 …… 0 =< x < 1
-1 …… -1 <= x < 0

ではいけないの?良ければもうすこし詳しくお願いします。

155:デフォルトの名無しさん
08/07/22 17:16:25
ドビックリ最大限の法則

156:デフォルトの名無しさん
08/07/22 17:34:47
範囲の代表の値をどう取るか(切り上げや切り下げの方向)については数学は特に定めない
適当に宣言したあとに好きなようにやるといい

157:デフォルトの名無しさん
08/07/22 23:27:37
>>85
報告しますた。thx!

URLリンク(redmine.ruby-lang.org)

158:152
08/07/23 00:22:18
あれ?
みんなどうやって書いてるん?
あるいはRDocなんて書いてない?

159:デフォルトの名無しさん
08/07/23 02:03:43
>>158
とりあえず「rdoc 書式」あたりでググってみた?

例えば以下のリンク先の「コメント部の修飾」あたりとか。
URLリンク(ruby.gfd-dennou.org)


160:デフォルトの名無しさん
08/07/23 09:10:21
>>158
誰かの書いたのをコピペして消して使ってるから形式とかわからん

161:デフォルトの名無しさん
08/07/23 09:41:24
うん、あれよくわからんよね
マニュアルつきソース作ろうと思ってもどこにどういうの書くべきかさっぱりだ
(= で見出しがつくとかそういうRdoc文法システム本体の話ではないので注意)

Rubyにマニュアルが少ない理由がわかった気がする

162:デフォルトの名無しさん
08/07/23 16:14:00
>>161
何がわからないのかがわからない。
RDocの文法の話じゃないとすると、
引数や戻り値はこう書く、みたいなのが知りたいってこと?

163:デフォルトの名無しさん
08/07/23 16:30:41
>>161
実例/規範/雛型がほしいってこと?

164:デフォルトの名無しさん
08/07/23 17:01:28
javadocなら@autherとか@paramsとか決まったキーワードがあるけど
rdocにはそんな決まりが無いよね、見出しレベルをいくつにするとか
標準添付ライブラリのソースも記述が統一されてないから参考にならない
== Example: だったり === Examples だったり

165:デフォルトの名無しさん
08/07/23 17:10:43
そんなときこそ異界からの使者Railsですよ

まーあれだ、

# ここ1
module Hoge
# ここ2
class Mage
# ここ3
attr_reader
# ここ4
def initialize(param)
# ここ5
end
# ここ6
def hage(para,para2=nil)
# ここ7
end
end
end

にどんな書き方で何を書くべきかというのが全く決まってないというのはなんかアレだと思う

166:デフォルトの名無しさん
08/07/23 17:17:34
メソッドの中の5と7は無視されるんだっけ?

167:デフォルトの名無しさん
08/07/23 18:53:27
もう、Podにしちゃいなよ。

168:デフォルトの名無しさん
08/07/23 22:13:24
初めまして
こちらでも質問させてください

今rubyで
「XPathとDOMが相互変換できるライブラリ」
というものを探しています。

結構調査してるのですが、なかなか見つからず。。

どなたか教えてください。



169:デフォルトの名無しさん
08/07/23 22:17:11
なんか、swin.dllの作り方がよくわからないから
ActiveScriptRubyを導入したんだが・・・。
configure勉強せねば無理か 
しかしdllが何をしてるかもわからんし何がなんだか
手が付けやすいとこんな適当な人でも使えちゃう
使えた方が助かるし誰も別に困らないが

170:デフォルトの名無しさん
08/07/23 23:08:47
>>169
日本語でおk
というか、チラシの裏でおk

171:デフォルトの名無しさん
08/07/23 23:16:41
そうですね
>>170
dllがソースコンパイルしないとダメで、
Rubyのインタプリタのソースが必要らしくて
やり方がいまいち・・・makeでエラー出るんだよね・・・
Rubyのインタプリタのソースとswin.cとかのソースを全部
パスの通った同じフォルダに入れてGNUmakefile.inとかを
所定のディレクトリに入れてってやったんだが
正直自分もよくわからないから、元から入ってる環境を
利用させていただいて、それで決着した
もし他に同じような人がいて困ってたらなんかの足しにはなるし

172:デフォルトの名無しさん
08/07/23 23:57:51
>>171
だからエスパーさせんな、と。

dllとかswinとか言ってるんだからWindowsの話だよな。
まず、rubyインタプリタのソースなんかはいらない。
ちゃんとrubyがインストールされていてパスが通っているなら、
swinなら展開したらextconf.rbがあるはずだから、ruby extconf.rbで
Makefileができる。
それでmake(VC++ならnmake)でうまくいくはず。

うまくいかないのなら、
* rubyはどこから手に入れてどうやって入れたのか
* extconf.rb実行時にエラーが出るのか、出るならどんなエラーか
* make時にエラーが出るのか、出るならどんなエラーか
を書け。

今のところ、君の書いてることは誰の「なんかの足し」にもならんよ。

173:デフォルトの名無しさん
08/07/24 01:28:42
SWinってActiveScriptRubyについてこなかったっけ?

174:デフォルトの名無しさん
08/07/24 05:06:09
>>173
ありがとう、ActiveScriptRubyインスコして動作確認できたので、それ使うことにした。
>>172
ありがとうございます。
Cygwinでrubyを使っているんですが、
ruby.exeと他のコマンドなどがあるpathの通った場所に
ファイルをコピーペーストしてmakeすれば
いいみたいですね。別のとこで展開してました。
今回はswinだけActiveScriptRubyからコピーして
利用することにします。また今度やってみます。

正規表現中にーがあるとpremature end of regular expression: /・・・と
エラーが出るようですね。「ー」を「..」に置き換えると出なくなりました。
rubyの種類とバージョンは 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin]です。

175:デフォルトの名無しさん
08/07/24 17:32:08
>>166
そう
class や def の前に説明を書かなければいけない

176:デフォルトの名無しさん
08/07/24 19:08:56
>>174
初心者スレに行けばいいと思うよ。

permeture...は、-Kオプションについて調査することをお勧めする。

177:デフォルトの名無しさん
08/07/24 19:35:52
次のるびまはRDocについて書くといいぞ
Loggerが使われるようになったのはあの解説のおかげだろ

178:デフォルトの名無しさん
08/07/24 21:13:00
それは良案
ただ、るびまの次巻が出ないんだよな・・・・・・そろそろ出てもいいはずなのに
Ruby会議で忙しかったんだろうか

179:デフォルトの名無しさん
08/07/24 22:25:07
rubyが人類の負の遺産になりつつあるな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch