5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Rubyについて Part 32

1 :デフォルトの名無しさん:2008/07/09(水) 00:32:32
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

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

= 前スレ
Rubyについて Part 31
http://pc11.2ch.net/test/read.cgi/tech/1204466626/

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

2 :デフォルトの名無しさん:2008/07/09(水) 00:33:55
Ruby 初心者スレッド Part 20
http://pc11.2ch.net/test/read.cgi/tech/1214498119/

【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://pc11.2ch.net/test/read.cgi/tech/1155031689/

Rubyの宿題教えてください。2限目
http://pc11.2ch.net/test/read.cgi/tech/1200175247/

Ruby>>>>>Java
http://pc11.2ch.net/test/read.cgi/tech/1158807229/


【↓アンチ系】

Rubyについて(アンチ専用) Part003
http://pc11.2ch.net/test/read.cgi/tech/1207233348/

Rubyは難しすぎ
http://pc11.2ch.net/test/read.cgi/tech/1156496224/

【カルト】Ruby開発者Matz【モルモン】
http://pc11.2ch.net/test/read.cgi/prog/1148712641/

3 :デフォルトの名無しさん:2008/07/09(水) 00:34:26
Rubyリファレンスマニュアル刷新計画
ttp://doc.loveruby.net/
ライブラリ一覧
ttp://doc.loveruby.net/refm/api/
RubyExtensionProgrammingGuide
ttp://i.loveruby.net/w/RubyExtensionProgrammingGuide.html
Ruby Hacking Guide
ttp://i.loveruby.net/ja/rhg/
Symbol < Stringも止める。
ttp://www.rubyist.net/~matz/20061107.html#p03
クラスローカルインスタンス変数
ttp://www.rubyist.net/~matz/20061117.html#p02
クラス変数
ttp://www.rubyist.net/~matz/20070104.html#p03
ローカル変数
ttp://www.rubyist.net/~matz/20070112.html#p04
可視性メモ
ttp://www.rubyist.net/~matz/20070208.html#p04
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30107
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30275
YARV without 1.9
ttp://www.rubyist.net/~matz/20070215.html#p01
ttp://www.atdot.net/~ko1/diary/200702.html#d22
ttp://i.loveruby.net/d/20070223.html#p01
JSON
ttp://json.rubyforge.org/
ttp://webos-goodies.jp/archives/51019710.html
ttp://webos-goodies.jp/archives/51071565.html
YAML
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=YAML
ttp://jp.rubyist.net/magazine/?0009-YAML
ttp://www.namikilab.tuat.ac.jp/~sasada/prog/yaml.html

4 :デフォルトの名無しさん:2008/07/09(水) 00:35:06
Ruby/Gtk+
ttp://www.unixuser.org/~haruyama/software/goRua/
ttp://takeposo.sakura.ne.jp/windows/environment/rubygtk.html
ttp://ruby-gnome.sourceforge.net/
ttp://ruby-gnome.sourceforge.net/programming/intro.html
ttp://ruby-gnome2.sourceforge.jp/
ttp://psux1.kek.jp/thitoshi/ruby/gtk/
ttp://www.rubycgi.org/ruby_gtk_book/
ttp://ruby.gfd-dennou.org/products/cygwin/index-j.html
ttp://www.magicianmaster.jp/tdiary/?date=20040912

5 :デフォルトの名無しさん:2008/07/09(水) 00:35:38
Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/
ttp://jp.rubyist.net/magazine/?0004-RubyOnRails
ttp://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html
ttp://kyotosanga.com/gaku/archives/2006/01/ruby_on_rails_a.html
ttp://blog.hacklife.net/archives/50190377.html
ttp://www.metadata.co.jp/web20/ohba/060718_Rails/
ttp://japan.cnet.com/news/ent/story/0,2000056022,20089986,00.htm
ttp://japan.cnet.com/interview/story/0,2000055954,20094959,00.htm
ttp://journal.mycom.co.jp/articles/2006/07/31/radrails/
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh29.html
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh30.html
ttp://www-06.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060209/228940/
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/

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

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

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

8 :デフォルトの名無しさん:2008/07/09(水) 10:38:44
重複です。こっちに合流しましょう。
http://pc11.2ch.net/test/read.cgi/tech/1213298522/

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

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

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

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

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

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

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

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

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


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

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


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


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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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


37 :デフォルトの名無しさん:2008/07/11(金) 08:26:28
>>36
ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%E9%AB%98%E9%87%8E%E5%85%89%E5%BC%98+site%3Apc11.2ch.net&num=50

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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


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

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

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

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

1.9はイイヨイイヨー

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


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

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

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

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

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

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

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

66 :63:2008/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 :デフォルトの名無しさん:2008/07/12(土) 21:10:59
だからよ、そのRuby/SDLは1.8用のバイナリだ
1.9は1.9用のバイナリを自分でコンパイルしなきゃならんの

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

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

70 :66:2008/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 :デフォルトの名無しさん:2008/07/13(日) 11:04:08
>>64
そっか、ちょっと使ってみる

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

85 :デフォルトの名無しさん:2008/07/15(火) 10:52:37
http://doc.okkez.net/186/view/method/Tracer/s/add_filter
> add_filter {|event, file, line, id, binding| .... }

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

86 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/15(火) 12:15:38
きちんとCygwin形式のファイルパスで書け

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

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

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

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

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

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

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

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

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

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

94 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/19(土) 21:33:40
そのせいで高速な非標準csvパーサがごろごろしているruby
標準を捨てれば無問題

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

114 :デフォルトの名無しさん:2008/07/20(日) 01:50:20
>>112
ttp://jp.rubyist.net/RubyKaigi2008/?c=plugin;plugin=attach_download;p=MainSession;file_name=rubykaigi2008_akr.pdf
この辺読んでから君が頑張れ

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

138 :デフォルトの名無しさん:2008/07/20(日) 22:18:26
http://jp.rubyist.net/

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

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

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

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

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

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

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

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

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

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

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

146 :デフォルトの名無しさん:2008/07/22(火) 09:17:34
Ruby
http://iroiro.alualu.jp/kennitiryu/toilet05.jpg

Python
http://www.toto.co.jp/products/kitchen/k00015/images/pho_ind00.jpg

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

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

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

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

151 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/22(火) 15:55:58
HTML版マニュアル生成元データとしてのRDocの
ちょうわかりやすい書き方を解説したサイトってない?

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

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

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

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

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

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

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

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

http://redmine.ruby-lang.org/issues/show/343

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

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

例えば以下のリンク先の「コメント部の修飾」あたりとか。
ttp://ruby.gfd-dennou.org/tutorial/rdoc/


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

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

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

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

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

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

165 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/23(水) 17:17:34
メソッドの中の5と7は無視されるんだっけ?

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

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

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

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

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



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

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

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

172 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/24(木) 01:28:42
SWinってActiveScriptRubyについてこなかったっけ?

174 :デフォルトの名無しさん:2008/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 :デフォルトの名無しさん:2008/07/24(木) 17:32:08
>>166
そう
class や def の前に説明を書かなければいけない

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

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

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

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

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

180 :デフォルトの名無しさん:2008/07/25(金) 07:00:16
>>177
ただRDocとだけ言うと>>159のように文法解説されて
「HTMLに変換できるなんて超便利だよね!」という勘違い記事で終わる予感

「自作Rubyスクリプトにマニュアルをつけよう」という視点にしてもらわないと困る
RRSE含めて「マニュアルシステムに自作マニュアルを組み込むとEmacsメソッド補完で説明が出て便利」とかそういうの

181 :デフォルトの名無しさん:2008/07/25(金) 11:16:23
> RRSE
うおーなんぞこれー

182 :デフォルトの名無しさん:2008/07/25(金) 15:47:37
>>177
> Loggerが使われるようになったのはあの解説のおかげだろ
かもね

183 :デフォルトの名無しさん:2008/07/26(土) 21:31:42
>>146
せめて日本庭園と西洋庭園にしてくれよ
日本人にはRubyの良さが分かるんだ!

184 :デフォルトの名無しさん:2008/07/27(日) 03:41:38
>>154
数学じゃね?
-0はマイナス側からの極限 0.9999・・・-1
+0は・・・てやつ
それとプログラムの関係はしらないが

185 :デフォルトの名無しさん:2008/07/27(日) 09:42:06
RubyとPythonは日本語と英語の世界に似てるんだよね・・・・

日本語
・複雑なルール、豊かな表現力
・知ってる人にはわかりやすいが、知らない人は戸惑うことが多い
・自由で割と新たな表現を容認する方
・日本ローカル。喋る外人は少ない

英語
・シンプルなルール、それなりの表現力
・知らない人でもわかりやすいが、貧弱さにイラつく人もいる
・SVO強制。非常に保守的。
・ほぼ世界共通語。日本人を含めエキスパートが沢山いる。

186 :デフォルトの名無しさん:2008/07/27(日) 11:41:49
俺にわかるのは>>185が英語を苦手としている という事だけです

187 :デフォルトの名無しさん:2008/07/27(日) 14:46:42
英語のルールって、シンプルとはとてもいえないよな・・

古英語に、バイキングに侵略されてた頃のノルド語がまじって、
更に、キリスト教の影響で、ラテン語がまじってるから、
語源やルールが多重にまじってて、ごちゃごちゃ。

188 :デフォルトの名無しさん:2008/07/27(日) 15:09:05
日本語は文法が整然とされていて綺麗というのは常識だけどね

189 :デフォルトの名無しさん:2008/07/27(日) 15:33:32
そんな常識ないぞ。
「ぞうは鼻が長い」のために一生かかるのが日本語だぞ?

190 :デフォルトの名無しさん:2008/07/27(日) 17:40:46
まあとりあえず英語がシンプルとか勘違いしてるやつは、
childの複数形がなぜchildsではなくchildrenかに疑問を持って調べてみるべき。
あとなぜchildの発音はチャイルドなのにchildrenの発音がチャイルドレン
じゃないかも調べてみるべき。

そりゃ日本語に比べたら英語の歴史は短いが、そうはいっても千年以上の歴史がある。
シンプルなわけがない。


191 :デフォルトの名無しさん:2008/07/27(日) 17:51:18
>>189
それは、むしろ文法が整然としてるせいもあるんじゃないのかな?

日本語は、文法はシンプルなんだけど、
そのせいもあって、同音異義語がもの凄く多い。
(微妙なアクセントで全然意味が変わってしまう。
 ただし、そのレベルになると、大半の日本人でも実は使いこなせていない。
 ベテランのNHKのアナウンサークラスじゃないと・・・)

あと日本語は、省略が異様に効く言語なんで、それもキツイらしいね・・
「愛してる」だけで、周りの文脈も考えれば、100%正確に通じてしまうってのは、
実はめずらしいそうな・・

英語で、
I love you.
Love you.
Love
は、全部意味が違う

192 :デフォルトの名無しさん:2008/07/27(日) 18:06:27
おまいら突っ込むところは他にあるだろう

というかわざと避けてるのか

193 :デフォルトの名無しさん:2008/07/27(日) 18:14:26
2chで不正確なマッピングの例え話に興じる奴は100%低脳な法則

194 :デフォルトの名無しさん:2008/07/27(日) 19:43:24
>>193
2chに限らない。

195 :デフォルトの名無しさん:2008/07/27(日) 19:56:11
>>187
ノルマンコンクェストってキリスト教のせいだっけ?


196 :デフォルトの名無しさん:2008/07/27(日) 20:19:33
というか、単純に語彙数を比較しても、英語圧勝なんだが……。

197 :デフォルトの名無しさん:2008/07/27(日) 20:21:25
>>196
へえ。具体的な数字があれば、いい豆知識w

198 :デフォルトの名無しさん:2008/07/27(日) 20:27:28
>>195
古英語>ノルマンコンクエストの影響>キリスト教の布教の影響
なんで、そこは分けて取って欲しかったんだ・・

199 :デフォルトの名無しさん:2008/07/27(日) 20:33:12
ちょw多い

200 :デフォルトの名無しさん:2008/07/27(日) 20:36:33
なんだこの流れw
English板に迷い込んだのかと思った

201 :デフォルトの名無しさん:2008/07/27(日) 21:16:31
tips は初心者スレ
仕様・ドキュメント・コミュニティの話題はアンチスレ
それ以外の雑談は本スレで!

202 :デフォルトの名無しさん:2008/07/27(日) 21:18:24
二行目おかしいだろw

203 :デフォルトの名無しさん:2008/07/27(日) 21:54:18
全部だろ

204 :デフォルトの名無しさん:2008/07/27(日) 22:15:36
1行目は正しくないか?
rubyの使いかたについてはこのスレじゃやらないよね

205 :201:2008/07/27(日) 22:39:09
ネタといえばネタなんだが、現状こうなってしまいがちでない?

分かんないことがある。本スレに書いて「初心者スレに逝け」とか言われるのはイヤ
→せっかくだから、俺はこの初心者スレを選ぶぜ!
仕様とかに疑問を持つ。本スレに書いて「MLに書け」とか言われても、そこまでする気はない
→せっかくだから(ry

俺は初心者スレを見て、勉強させてもらってるが。

206 :デフォルトの名無しさん:2008/07/28(月) 02:54:43
>>180
RDoc自体にはマニュアル的記述を支援する機能はないから、
RDocとは直接関係なく決めごとを作るしかないと思われ。
例えば以下のリンク先のような。
ttp://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8

@paramや@returnなどに対応したSimpleMarkupの拡張版を
用意した方がわかりやすくなるような気がする。
るりまのBitClustがそういう感じだよね。

207 :デフォルトの名無しさん:2008/07/29(火) 00:49:00
どうせならクソRD捨ててもっとまともな設計にして欲しいよな。
言語オタを名乗るんだったらもっとこだわって欲しいところだぜ。

まあ、reStructuredText移植で十分だと思うけど、あれはパーサーに優しくないから
そのあたりを再設計すりゃ良いかな。

208 :デフォルトの名無しさん:2008/07/29(火) 00:57:10
>>207
よし、あんたにまかせた。よろしく
と、matzが言っております

209 :デフォルトの名無しさん:2008/07/29(火) 01:01:52
ぶっちゃけJava・PHPでデファクトのJavaDocでいい

##
# 簡単なコメント
#
# 詳細なコメント詳細なコメント詳細なコメント
# 詳細なコメント詳細なコメント詳細なコメント
#
# @param
# @return

・・・ぷw

210 :デフォルトの名無しさん:2008/07/29(火) 01:03:11
まあ実際、人手が足りないのは事実らしい
マンパワーが足りないってだけの理由で後回しになっている領域がけっこうあるそうで

211 :デフォルトの名無しさん:2008/07/29(火) 01:09:31
まず、仕様書作りだろ
http://www.ruby-lang.org/のメンテナンス
るびマの執筆

えーっと、それから。。

212 :デフォルトの名無しさん:2008/07/29(火) 01:31:20
>>210
これは逆切れに近いんだが、声がぜんぜん聞こえてこないんだよね
困ってるなら困ってるって言えよ
悲劇のヒーロー気取ってんじゃねえよ

213 :207:2008/07/29(火) 01:36:24
前に自作構造化テキストルール&HTMLコンバーターをMLに投げたけど、
コメント一つなくスルーされたんだよね。
Ruby関係者は誰も興味ないんかね。

reStructuredTextを移植するほどRubyに労力かけたくないしなぁ。


214 :デフォルトの名無しさん:2008/07/29(火) 01:43:23
>>213
Linuxカーネルでもそういうことあるってね。
コメントくらいはあるだろうけど
別の方法でやろうとしてたんだと言わえてで却下、とか
取り込まれたと思ったら全然別のやり方で再実装されてた、とか

コネ作らないと採用されにくいという

215 :デフォルトの名無しさん:2008/07/29(火) 01:45:39
まあ、ポッと出のやつのパッチは採用しづらいってのはあるわな
馬の骨のやつのコード取り込んだとして2年後誰が保守するの?って話だ

216 :デフォルトの名無しさん:2008/07/29(火) 01:46:07
>>213
あとはあれだ、
修正が大きいとすぐ理解できないので、
パッチ読む優先度が下がってうやむやとか


217 :デフォルトの名無しさん:2008/07/29(火) 02:00:34
>>212
・・・・・もしかして、需要と供給を誰も把握してない?
他のコミュニティだとどうやってんのかね

218 :デフォルトの名無しさん:2008/07/29(火) 02:01:09
>>213
諦めるな。スルーされてもされても
投げつづける熱意が必要なのさ...

219 :デフォルトの名無しさん:2008/07/29(火) 02:04:55
めっちゃわかりやすいかめっちゃ便利かどっちかだな
コネというのは言葉が悪いが、信頼あってのコードだから…

220 :デフォルトの名無しさん:2008/07/29(火) 02:10:12
コードには人格はくっついてないんだけどね
まあなんぞ色々あるんだよ、うん

たまたま興味ある人が見てなかったということもあるから、
サイトでも作ってのっけて公開するんだ

…Web公開されたようなコードってRubyライセンスは取り込めたっけ?

221 :デフォルトの名無しさん:2008/07/29(火) 07:45:19
>>220
公開するときに、取り込めるようなライセンスを明示しておけばいい。


222 :デフォルトの名無しさん:2008/07/30(水) 15:20:21
初心者スレ向けなんだけどさ。

# hoge.rb
class Hoge
def initialize
return Array.new
end
end

============

# main.rb
require 'hoge'
hoge = Hoge.new
hoge.push('a')

ってやったら
undefined method `push' for #<Hoge:0x401c2844> (NoMethodError)
って言われるのなんで?
new の返り値は配列にならないの?

223 :デフォルトの名無しさん:2008/07/30(水) 15:27:33
>>222
しかしその理屈だと

class Hoge
def initialize
@param = nil
end
end

という Hoge クラスを new したら中身が nil になってたいへん悲しい状況に
稀に見かける initialize の最後に self を書いてるスクリプトはこれが原因か?

224 :デフォルトの名無しさん:2008/07/30(水) 15:40:09
これやったことある
「Arrayを継承するほどでもないんだよなー」と思って
「そうだ、newの返り値が配列ならいいんじゃね?」みたいな

しかし、仮にHoge.newがArrayクラスのインスタンスになったとすると
Hogeクラスに書いたインスタンスメソッドは動作しないぞ、ArrayはHogeじゃないんだから

225 :デフォルトの名無しさん:2008/07/30(水) 15:50:40
継承は最後の武器とか言いながら継承しか言わないおまえらが大嫌いだ

「Arrayのメソッドを主に使う+自作メソッドを時々使う」の場合はArrayを継承するのが妥当?

226 :デフォルトの名無しさん:2008/07/30(水) 16:17:36
継承を使うときのチェックポイント(Ruby版)

1.is-a関係があるか
2.継承後もインターフェースを維持しているか
3.メソッドの実装を共有しているか
(出典:るびま)

使ってる時の感覚として、Rubyの場合、継承はそんなに怖くないような
Javaとかだと継承には恐怖を覚えるんだが

227 :デフォルトの名無しさん:2008/07/30(水) 16:40:21
>>225
委譲(delegate,forwardable)も選択肢の一つ
>>225のような要求なら継承の方が楽だけど

228 :デフォルトの名無しさん:2008/07/30(水) 17:04:23
Array を直接いじるよりは継承したクラスを作ってそっちをいじるほうが
安心感はあるな。たとえば

229 :デフォルトの名無しさん:2008/07/30(水) 19:04:17
>>225
そもそも「継承は最後の武器」と言ってる人がどのくらいいるのかがあやしい

230 :デフォルトの名無しさん:2008/07/30(水) 21:15:44
>>229
知識としてはRuby界隈では一般教養だと思うが、
意味や元ネタまで知っている人は少ないと思う。


231 :デフォルトの名無しさん:2008/07/30(水) 21:18:59
無理やりやるならこんな感じか。

module Hoge
 def hoge
  :ok
 end
 def self.new
  [].extend(Hoge)
 end
end

hoge = Hoge.new #=> []
hoge.push("a") #=> ["a"]
hoge.hoge #=> :ok


232 :デフォルトの名無しさん:2008/07/30(水) 21:21:35
元ネタを勘違いして覚えてる人は少なくないと思う

233 :デフォルトの名無しさん:2008/07/30(水) 21:37:49
>>212
逆切れじゃなくて言いがかりだな。

> 困ってるなら困ってるって言えよ
どうすればいいんだ?ダイレクトメールでも送ってほしいのか?
TV CMでも流せってのか?


234 :デフォルトの名無しさん:2008/07/30(水) 21:55:11
>>233は中学生

235 :デフォルトの名無しさん:2008/07/30(水) 23:26:44
>>227で言ってるがレシピブックにも書いてある

丸投げ
require 'delegate'
class MyArray < DelegateClass(Array)
def initialize
super []
end
end

a = MyArray.new
a.push 3
p a #=> [3]

一部だけ
require 'forwardable'
class MyArray2
def initialize
@array = []
end
extend Forwardable
def_delegator :@array, :push
end

a2 = MyArray2.new
a2.push 5
p a2 #=> #<MyArray2:0xb7cc9fa4 @array=[5]>

236 :デフォルトの名無しさん:2008/07/30(水) 23:30:42
>>233
見てるこっちが恥ずかしいから、大人になるまで書き込まないでね。

237 :デフォルトの名無しさん:2008/07/30(水) 23:52:22
自分で使うぶんには継承であまり問題ないわな
「変なメソッド使うと内部データに不整合がおきます」とかマニュアルに書けばいい

パッケージとして他者に提供するときに制限したい場合に特に意味があるわけで

238 :デフォルトの名無しさん:2008/07/30(水) 23:55:59
確かに、private の意味がわからなかった
「呼べなくするなんて面倒なことしないでそもそも呼ばなきゃいいじゃん?」
みたいな

239 :デフォルトの名無しさん:2008/07/31(木) 00:29:09
--unittestオプションを付けたらアクセス制限を無視するようになればいいのに
Rubyではprivateなんて使わないけど

240 :デフォルトの名無しさん:2008/07/31(木) 00:47:10
rails使うときは適宜private使わないと危険だと思うんだが
俺だけ?

241 :デフォルトの名無しさん:2008/07/31(木) 00:55:40
>>222
>ってやったら
>undefined method `push' for #<Hoge:0x401c2844> (NoMethodError)
>って言われるのなんで?
>new の返り値は配列にならないの?

initialize() の戻り値が new() の戻り値になるわけじゃない。
p hoge して hoge が Array じゃないことを確認したら?

242 :デフォルトの名無しさん:2008/07/31(木) 00:57:48
>>240
あのへんはアクセス制御を使わないと危険なようにできてる

243 :デフォルトの名無しさん:2008/08/01(金) 20:31:04
最近のRubyではtcl/tk8.5が使えるようになってるというので
Ubuntuでtcl8.5-dev と tk8.5-devをインストールしてmakeしてみましたが
どうもtclを認識してくれません。
ちゃんと
/usr/include/tcl8.5/{tcl.h,tk.h}
はあるのですが、extconfで
tcl.h ... no
と言われてしまいます。どうやってmakeしたらいいのでしょうか

244 :デフォルトの名無しさん:2008/08/02(土) 00:31:21
./configure --with-tcl-dir=...とか付けた?


245 :243:2008/08/02(土) 00:45:37
すみません。

./configure --enable-tcltk_stubs --with-tcl-include=/usr/include/tcl8.5
--with-tcllib=tclstub8.5 --with-tklib=tkstub8.5
とやって自己解決しました

こういうの自動検出してほしいですねえ。そのためのextconf.rbじゃないかと
おもうのですが。Ruby/Tkがイマイチ不人気なのもそういう原因があるんじゃないかと思う

246 :デフォルトの名無しさん:2008/08/02(土) 00:53:36
置いてありそうなディレクトリ候補を全部列挙させるのも無理があるだろう。
最近はやりの hoge_config --cflags みたいにして調べるコマンドが付いてる
やつならいいんだけどね。


247 :デフォルトの名無しさん:2008/08/02(土) 13:01:02
Ruby/Tkって不人気なの?
というかconfigureのオプションと関係があるとは思わなかったw

248 :デフォルトの名無しさん:2008/08/02(土) 13:25:14
でも関係あるでしょう。
PythonのTkinterは何も考えなくても
./configure
make
しただけで動くし。デフォルトで作られないライブラリなんか怖くて使えないよ。

ところで、rubyはリポジトリが汚いんだね。trunk/直下にいろいろゴチャゴチャ置いて
あって見通しが悪い。コアの部分はSrcにしまうとかすべきだろう。
docに置いてあるファイルがしょぼいのもドキュメント軽視の原因なんじゃないだろうか

249 :デフォルトの名無しさん:2008/08/02(土) 13:25:33
gtkのがいいじゃん

250 :デフォルトの名無しさん:2008/08/02(土) 13:26:19
>>248
逆だな
matzがドキュメント軽視なのが原因

251 :デフォルトの名無しさん:2008/08/02(土) 13:31:07
ドキュメント重視な開発者なんていません
全員が仕方なく書いてるんです
コード書いてるほうが楽しいに決まってます

252 :デフォルトの名無しさん:2008/08/02(土) 13:35:41
>>251
コードから完璧なドキュメントを生成するコードを書く作業に移るんだ

253 :デフォルトの名無しさん:2008/08/02(土) 13:36:39
>>252
作業に移る前に完璧なドキュメントの定義をください

254 :デフォルトの名無しさん:2008/08/02(土) 13:38:08
まあドキュメントは人が書ける人があんまりいないからしゃーないとして、
(そのへん日本人が苦手なのは日本語ウィキペディアをみれば分かる)

とりあえず、Ruby/Tkは変なオプションつけないとビルドできない欠陥仕様を早く治すべき。
ヘッダの自動検出をサボってるかバグがあるんじゃねーのかな
他の外部ライブラリは別に変なオプションいらずでビルドできるんだし。

255 :デフォルトの名無しさん:2008/08/02(土) 13:38:51
ねえ
「メソッドに別な動作させたいときはこのクラスを継承した別のクラス作るの推奨」ってライブラリがあるんだ
その思想自体には賛成なんだけどさ、元のクラスのinitializeとかにバカみたいに引数と初期値があって
いちいち書き写すのめんどくさいんだ
なにか便利あるいは定番な方法ってないかな

def hoge(para1, para2, para3=nil, para4=nil, para5={:hogedat=>[]})
処理A
処理B
super
end

めんどいです

256 :デフォルトの名無しさん:2008/08/02(土) 13:39:17
じゃあ開発者以外にドキュメントをかかせればいいのか?
xmlなんかは読み切れんくらいドキュメントがあると思うが、
あれは誰が書いてるんだ?

257 :デフォルトの名無しさん:2008/08/02(土) 13:41:04
>>253
それはmatzに聞くべきです

258 :デフォルトの名無しさん:2008/08/02(土) 13:44:50
マジレスするとCPAN並に付属ドキュメントを強制するのがよい
書くのめんどいと言いつつもドキュメントの重要性自体は全員が理解するところだろう
なるべくドキュメントを書きやすい雰囲気に持っていくってことだな

だからRDocでソースコードからマニュアル作る場合にどう書くのが定番なのかさっさとみんなで決めろタコ

259 :デフォルトの名無しさん:2008/08/02(土) 13:45:28
>>255
こうするといいよ

def hoge(*args)
処理A
処理B
super
end

260 :デフォルトの名無しさん:2008/08/02(土) 13:51:02
>>256
WS-* みたいなのは実装可能性すら無視して規格書を厚くするのが仕事になってるから。
そういう風になると規格自体もぐちょんぐちょんだし。

261 :デフォルトの名無しさん:2008/08/02(土) 13:53:26
>>260
ああはなって欲しくないから
>>258
強制がいいかもしれんですね。

262 :デフォルトの名無しさん:2008/08/02(土) 13:59:35
>>258
http://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8
RDocのテンプレート
こんな感じ?

263 :デフォルトの名無しさん:2008/08/02(土) 14:03:06
CPANはPoDがないと登録できないんだっけ
マニュアル記述がないと警告するツールもあったはず
Perlはそういうとこ進んでるよな

264 :デフォルトの名無しさん:2008/08/02(土) 14:13:47
【涼宮ハルヒの驚愕】2008年12月に発売決定! 表紙絵は長門
http://anime3.2ch.net/test/read.cgi/cosp/1175334254/l50

 原作者はパソコンの扱いが苦手なようです。

265 :デフォルトの名無しさん:2008/08/02(土) 14:30:46
>>254
extconf軽く見る限りはバージョンの新しい方からライブラリ探してる気配はした
バグってるのかなあ

266 :デフォルトの名無しさん:2008/08/02(土) 14:42:36
>>262
おお参考になる
しっかしRDocを使ったドキュメント以前に、
RDocの使用法に関するドキュメントが不足しているというw

267 :デフォルトの名無しさん:2008/08/02(土) 14:48:16
>>266
> 参考になる
>>206
自演か?とか思う

268 :デフォルトの名無しさん:2008/08/02(土) 15:50:46
>>265
ちょっと調べてみたけど、バージョン認定は正しく行っているようだ。

しかし、
have_header("tcl.h")
でこける。/usr/include以下にtcl.h/tk.hがないとダメみたい。
Ubuntu(ということはおそらくdebianも)なら/usr/include/tcl*.*/にあるからなあ
他のディストリじゃどうなってるんだろう。

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/tk/extconf.rb?view=markup

どうせ中でtclConfig.shを読んでるんだし、そのへんよしなに取り計らって欲しい
もんだ。

269 :デフォルトの名無しさん:2008/08/03(日) 01:23:47
>>267
自演じゃないよwww

>>266
一回でも「RDoc」でググった?
というかどれだけドキュメントがあれば不足していないといえるのか。

270 :デフォルトの名無しさん:2008/08/03(日) 01:35:31
RDocを決まったフォーマットで書かないと
RAAに挙げさせない。gemさせない
ってことだろ

271 :デフォルトの名無しさん:2008/08/03(日) 02:51:31
>270
公式にRDocの解説すら無いのに?
自分ところのドキュメントをどうにかしない限り、そんなことできないよ。

272 :デフォルトの名無しさん:2008/08/03(日) 03:55:17
>>271は頭が悪い…

273 :デフォルトの名無しさん:2008/08/03(日) 04:16:59
三点リーダーつきでまで言うこっちゃないねえ(w

274 :デフォルトの名無しさん:2008/08/03(日) 04:24:15
3点リーダーは2つ続けて使うのが基本……
とか言うと読点すらない文章で基本も何もないわとか言われたりするが

275 :デフォルトの名無しさん:2008/08/03(日) 05:51:54
とりあえず、RDoc自体の使い方の話と
RDocを使ったメソッドの説明書きの話は
分けないと話がややこしくなるよ。

後者はRDocとは別のツールを使って解決するとか。
ttp://www.infoq.com/news/2008/07/yard-documentation-generator

>>271
るりまにそのうち書かれるのではないだろうか。
ttp://doc.loveruby.net/refm/api/view/spec/commands


276 :デフォルトの名無しさん:2008/08/03(日) 06:20:03
いくら知名度が低いからってこれはひどい売名行為
http://jp.youtube.com/watch?v=dcjwpz-6d2s

277 :デフォルトの名無しさん:2008/08/03(日) 06:59:20
RDocのテンプレート
http://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8

278 :デフォルトの名無しさん:2008/08/03(日) 09:26:19
>>277
>>206
>>262
自演確定

279 :デフォルトの名無しさん:2008/08/03(日) 09:27:59
確定というか決定だね。いまお前がそう決めたw

280 :デフォルトの名無しさん:2008/08/03(日) 09:33:18
いかにスレ読んでない連中が多いかの傍証にはなるな
何考えて書き込んでるんだかちょっと興味はある

281 :デフォルトの名無しさん:2008/08/04(月) 16:39:03
>>268
そうそう。extconf.rb 内でがんばって find_library してるけど
あんま意味ないと思う。
例えば MinGW で tk ビルドすると、
-lgdi32 -lcomdlg32 -limm32 -lcomctl32 -lshell32
あたりが必要なんだが、当然こんなのは考慮してくれない。
で、そのために tkConfig.h があるわけで、この中に DEFS, LIBS のほかにも
PREFIX や LIB_SPEC とか必要な情報は全部入ってる。
現状、thread 関連のチェックだけに tkConfig.h 見るとか、中途半端すぎる感じ。

282 :デフォルトの名無しさん:2008/08/04(月) 19:16:18
そうだね。ext/tkのextconfは重複部分も多くてあんまりスマートじゃないね。

tkにもテストが欲しいんだけどGUIのテストってどうやるのかな。
pythonだと、tclにメッセージを送るテストぐらいはやってるようだ。


283 :デフォルトの名無しさん:2008/08/04(月) 20:25:03
http://jp.rubyist.net/RubyKaigi2008/?MainSession

RubyKaigiのOgg動画がUbuntuで開けないんだけど、他の人はどう?

Windowsなんかじゃデフォルトで観られないだろうから、
Wikipediaみたいに
http://www.flumotion.net/cortado/
こういうJava Appletを挟んでもいいと思う。

284 :デフォルトの名無しさん:2008/08/04(月) 20:44:33
「Ubuntuで開けない」って変な表現だな
パッケージで入れてるlibcあたりがクラッシュでもするのか?

まあOgg/Theora形式なのはオープンソース野心的でいいんじゃないかと思う
一般的環境ではそもそも再生できないというのも排他性をうまく表現してる

動画形式の素晴らしさの宣伝を兼ねた再生ソフトウェアの紹介くらいはしておいて損はないと思うんだがな
あとできれば動画とPDFはファイルサイズ併記してほしい

285 :デフォルトの名無しさん:2008/08/04(月) 21:37:08
>>283
VLCでもmplayerでも開けたよ。
Totemはコーデックが足りてないのか無理だったけど。

286 :デフォルトの名無しさん:2008/08/05(火) 21:57:46
1.8と1.9でThread中でのexitの意味が変わってるとは知らなかった。

# test.rb
Thread.new {
sleep 1
exit(0)
}

sleep 5
puts "Hello, 2ch"

1.8なら何も出力せず、1.9なら"hello, 2ch"が出力される。

287 :デフォルトの名無しさん:2008/08/06(水) 01:23:25
Google StreetView でNaCL見学しようかと思ったけど見れネー。
島根のド田舎ってことをすっかり忘れてた。

288 :デフォルトの名無しさん:2008/08/06(水) 06:12:41
見られるのはまだ日本の極一部じゃねーか。

289 :デフォルトの名無しさん:2008/08/06(水) 06:57:35
>>286
thx

290 :デフォルトの名無しさん:2008/08/07(木) 05:52:55
なんかずいぶん前から
trunk/ruby/lib/mkmf.rb:4:in `require': no such file to load -- rbconfig (LoadError)
でコンパイルできないんだけど、よく開発続けられるなあ


291 :デフォルトの名無しさん:2008/08/07(木) 09:49:55
>>290
redmineに報告。

292 :デフォルトの名無しさん:2008/08/07(木) 11:28:02
>>291
chkbuildでも失敗してるからそのうち報告されるでしょう
http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/last

293 :デフォルトの名無しさん:2008/08/08(金) 09:15:27
>>290
--- common.mk (revision 18422)
+++ common.mk (working copy)
@@ -668,7 +668,7 @@

srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c $(srcdir)/ext/ripper/ripper.c transcodes

-transcodes: enc.mk
+transcodes: enc.mk $(RBCONFIG)
$(MINIRUBY) -run -e mkdir -- -p "$(EXTOUT)/$(arch)/enc/trans" enc/trans
$(MAKE) -f enc.mk RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(MFLAGS) srcs

rbconfig.rbを生成してない問題はこれで解決するけど、どっちにしても
今はencまわりでごにょごにょやってるんでmakeできないけどね。


294 :デフォルトの名無しさん:2008/08/08(金) 09:21:33
ごめん、こっちのほうが正しいか。enc.mkの作成に必要なmkmfの
実行にRBCONFIGが必要という話でした

-enc.mk: $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
+enc.mk: $(RBCONFIG) $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \


295 :デフォルトの名無しさん:2008/08/08(金) 21:23:02
基本的な質問します
FileTest.exist? ってありますよね
Ruby を Linux で使用してるんですが、これって HDD にアクセスしてますか?

files100list.each do |path|
FileTest.exist?(path)
end

ってやったら、実際に HDD に 100 回アクセスしてるんですか?
や、「既にダウンロードしてたらサーバからダウンロードしない」というのを

unless FileTest.exist?(uriから計算した保存ファイル名) then
res = www_download(uri)
File.open(uriから計算したファイル名,'w'){|f| f.write(res)}
end

というように「HDD に存在してたらスキップ」という処理にしたんですが、ちょっと気になって

296 :デフォルトの名無しさん:2008/08/08(金) 21:36:28
>>295
…まあ、たまたまキャッシュに残ってれば別だろうけど、プログラムとファイルシステムの関係上、普通はそうなんじゃね

原始的ではないWebブラウザはURL履歴をデータベースファイルに保存して参照してるわけだし
どーしても気になるならダウンロード成功時にURLを配列に保存しまくっておいて
スクリプト起動時に読み込んで「成功履歴配列にURLがあったらすっ飛ばす」とかするのはどうよ

297 :デフォルトの名無しさん:2008/08/08(金) 21:49:27
stat(2)の結果なら、たいていのFSではキャッシュしてるとは思う。

atime(最終アクセス時刻)を持ってる環境だと書き換えるのかな。
というかstat(2)でatime変わるんだっけ?
# とドツボにはまった




298 :デフォルトの名無しさん:2008/08/08(金) 23:52:41
僕のノートにはHDDが載っていないので何をしても
内部のHDにアクセスは起こりません(><)

299 :デフォルトの名無しさん:2008/08/09(土) 02:25:53
>>297
stat(2)は、ディレクトリエントリは叩くけどファイルの実体は叩くわけじゃない、
ということがわかればおk。

300 :デフォルトの名無しさん:2008/08/09(土) 03:03:57
あ、これは俺も気になったことはあるけど、Rubyあんまり関係ないな

find /usr -print をやるとわかるんだが
1度目はガリガリ言う(不幸なことに最近のHDDは音が鳴らない)けど2度目以降は静かなもんだ
ls -R /usr をしても無音で動く(これも1回目だとディスクアクセスがある)
findの結果をファイルに保存した直後に
$ cat result.txt | ruby -ne 'p FileTest.exist?($_.chomp)'
してもディスクはディレクトリをガリガリ走査しない

301 :デフォルトの名無しさん:2008/08/09(土) 04:36:20
なんかかわいいなw

302 :デフォルトの名無しさん:2008/08/09(土) 09:07:33
そろそろるびま更新されないかなー

303 :デフォルトの名無しさん:2008/08/09(土) 13:28:25
ruby 1.8.6-p286
ruby 1.8.7-p71
ttp://www.ruby-lang.org/ja/news/2008/08/08/multiple-vulnerabilities-in-ruby/


304 :デフォルトの名無しさん:2008/08/10(日) 23:27:39
Rubyリファレンスマニュアル刷新計画の拡張ライブラリ API リファレンスのページ
http://doc.loveruby.net/refm/capi/

これがError出て見られない状態なんだけど、どこに言えばいいのかな?
バグトラッカーに書くのもあれだし、連絡先もないし。。

ほっといておk?

305 :デフォルトの名無しさん:2008/08/10(日) 23:47:36
>>304
http://i.loveruby.net/d/
ここでいいんじゃね?

306 :デフォルトの名無しさん:2008/08/11(月) 23:30:43
http://www.ruby-lang.org/ja/news/2008/08/11/ruby-1-8-7-p72-and-1-8-6-p287-released/

>Ruby 1.8.7-p72 / 1.8.6-p287がリリースされました。
>前回のリリースの修正は不完全で、新しいリリースは以前にアナウンスされたdlの脆弱性の修正を含んでいます。

何考えてリリースしてんの?

307 :デフォルトの名無しさん:2008/08/11(月) 23:40:55
2〜3日様子見した俺様最強伝説

308 :デフォルトの名無しさん:2008/08/11(月) 23:55:00
最新に常に追従しない俺様最強

309 :デフォルトの名無しさん:2008/08/12(火) 00:50:53
毎日
svn up && autoconf && ./configure && make install-nodoc
している俺様が最大の勝利者


310 :デフォルトの名無しさん:2008/08/12(火) 00:59:56
>>306
1.8.7と1.8.6って確かリリース担当者が別人だよね?
何で同じミスをしてるんだwww

311 :デフォルトの名無しさん:2008/08/12(火) 01:09:43
>>310
テストケースが同じだからだろ
テストケースに抜けがあってすべてのバージョンの修正に不備がありました。
チャンチャン


312 :デフォルトの名無しさん:2008/08/12(火) 01:21:28
>>311
テストだけでチェックをしてるんなら
リリース担当者なんていらないじゃんwww

313 :デフォルトの名無しさん:2008/08/12(火) 07:05:32
使うに値しない言語ってことですか。

314 :デフォルトの名無しさん:2008/08/12(火) 08:43:14
>>313
お前そんなことばかり書き込んでるな

315 :デフォルトの名無しさん:2008/08/12(火) 10:34:49
>>314
なんかイリュージョンが見えてるのでは。

316 :デフォルトの名無しさん:2008/08/12(火) 22:46:18
【レポート】Rubyを核に産業活性化を目指す福岡県 - 124社が参加し、「F-Ruby」発足 (1) はじまりはRubyビジネス・コモンズの成功
ttp://journal.mycom.co.jp/articles/2008/08/12/fruby/index.html

取り組みはそもそも博打だからどんどんやれって感じだが、もうちょっとカッコいい名前ないの

317 :デフォルトの名無しさん:2008/08/12(火) 22:55:12
素人でごめんなしあ、ちょっと質問をば
貸し鯖(atpage)でruby使うにはどうしたらいいんですか
mySQLってやつ使わなきゃできないのでしょうか

318 :デフォルトの名無しさん:2008/08/12(火) 22:55:25
プロジェクトの命名権があるのは、金をひっぱってくるけど
技術にうとい人だから仕方ない。

319 :デフォルトの名無しさん:2008/08/12(火) 22:56:47
--- string.c (revision 18542)
+++ string.c (working copy)
@@ -2861,7 +2861,7 @@
rb_str_splice_0(VALUE str, long beg, long len, VALUE val)
{
if (beg == 0 && RSTRING_LEN(val) == 0) {
- rb_str_drop(str, len);
+ rb_str_drop_bytes(str, len);
OBJ_INFECT(str, val);
return;
}

nakadaさん・・・

320 :デフォルトの名無しさん:2008/08/12(火) 23:06:40
Thread#priorityをobsoleteにするという話が出てるけど
JRubyのためについでにkillとraiseもなくしちゃったほうがいいんでないの

c.f.
http://blog.headius.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html

321 :デフォルトの名無しさん:2008/08/13(水) 00:14:44
>>317
Ruby関係ないのでレンタルサーバのスレなり問い合わせ先なりで聞け

322 :デフォルトの名無しさん:2008/08/13(水) 00:33:37
>>321
わかりました

323 :デフォルトの名無しさん:2008/08/13(水) 10:21:04
>>316
Rubyで核施設制御かと思った
んなことしたら即日メルトダウンするぞw

324 :デフォルトの名無しさん:2008/08/14(木) 02:24:30
>>323
rubyが歴史に名を刻む日になるな

悪い意味で

325 :デフォルトの名無しさん:2008/08/19(火) 03:50:06
変なこと聞きますが、
Stringを継承したクラスとStringの構造の違いって、RBASICのklassが違うだけでしょうか?

cString2 = rb_define_class("String2", rb_cString);
str = rb_str_new2("test");
RSTRING(str)->basic.klass = cString2;

みたいに、rb_str_newした後でklass入れ替えるとかって、無しですかね?

326 :デフォルトの名無しさん:2008/08/19(火) 05:17:08
>>325
違いはそうだが、何をしたいんだ?

> rb_str_newした後でklass入れ替えるとかって、無しですかね?
基本的になしの方向で。


327 :デフォルトの名無しさん:2008/08/19(火) 05:18:50
>>310
> 1.8.7と1.8.6って確かリリース担当者が別人だよね?
今は同じ。


328 :デフォルトの名無しさん:2008/08/19(火) 05:41:03
リリースマネージメントなんて(技術的に)面白い仕事でもないし、
プロに任せちゃえばいいのにね

329 :325:2008/08/19(火) 06:04:06
>>326
そですね。
今さっき、rb_str_new5 (rb_str_new_with_class) なんてのがあるのを知った所で、
たぶん、これが欲しかったもののようです。

330 :デフォルトの名無しさん:2008/08/19(火) 13:18:00
>>329
念のために言っとくけど、そいつの第一引数はrb_cStringかそのサブクラスじゃ
なくて、そのインスタンスだから、最初にまず一つ作らない限り使えない。

Cレベルでインスタンスを生成する正式な方法はrb_class_new_instance()。


331 :デフォルトの名無しさん:2008/08/19(火) 13:37:19
>>328
プロってどこにいるの?
プロというからには金を取ると思うんだけど、誰が払うの?

332 :デフォルトの名無しさん:2008/08/19(火) 19:59:16
アラブの石油王に軽く1億くらい融資してもらえばいいじゃん

333 :デフォルトの名無しさん:2008/08/19(火) 21:30:37
キーワード引数っぽいハッシュの仮引数を criteria って呼ぶ人がいるのはどこが発祥?

334 :デフォルトの名無しさん:2008/08/19(火) 21:34:42
>>328
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/35608
こんなばかげたこと言っているやつがいるんだから金貰ってもやりたくないだろうな

335 :デフォルトの名無しさん:2008/08/19(火) 21:42:11
>>334
別にばかげたことだとは思わないが…
互換性の問題ってのはそれなりに難しい問題だよ、大昔から…

「xterm は vt100 のバグまで忠実に再現した」って、話を聞いた記憶がある


336 :デフォルトの名無しさん:2008/08/19(火) 21:52:55
安全性と妥当性のために互換性切捨てたら文句言うくせにな
どうしろと

337 :デフォルトの名無しさん:2008/08/19(火) 22:07:06
Ruby's FAQ

Q: 鬼車とは?
A: 次期Rubyに搭載予定の正規表現ライブラリ。

338 :デフォルトの名無しさん:2008/08/19(火) 22:09:32
Ruby's FAQ (by ●●t●)

Q: 鬼車とは?
A: 次期Ruby専用の正規表現ライブラリ。

339 :デフォルトの名無しさん:2008/08/19(火) 22:09:39
関連スレ

RubyによるWebプログラミングについての質問
http://pc11.2ch.net/test/read.cgi/php/1219059400/

340 :デフォルトの名無しさん:2008/08/19(火) 22:14:34
>336
仕様が無いんだからしょうがないじゃない。
コンセプトも方針も共有できてないんだから迷走するのは当然ですな。

341 :デフォルトの名無しさん:2008/08/19(火) 23:16:14
>>332
融資って、返さないといけないんだけど、そのことを理解してる?

342 :デフォルトの名無しさん:2008/08/19(火) 23:29:19
いや、奴は金融に強いんだぜ
もちろん、1億を種に投資して数倍にして、
後で利子つけて返すんつもりだったんだよ

343 :デフォルトの名無しさん:2008/08/19(火) 23:40:04
イスラム金融なら利子じゃなくて配当じゃないか?

344 :デフォルトの名無しさん:2008/08/20(水) 04:23:57
ふつーのオープンソース系の感覚で、
1.8.xでxが大きい方が不安定ってまず思わないよなあ
その辺からしてクレイジーなルビー
新参ですごめんなさい

345 :デフォルトの名無しさん:2008/08/20(水) 07:54:43
>310
ruby 1.8 系のブランチから適当な時期に1.8.xをリリースするまでが武者さん、
リリースされた1.8.xのブランチをメンテするのが卜部さん
ちなみに、1.9のリリースはささださん

>344
1.8.4以前はそもそもパッチリリースが存在せず、(しかも超不安定)
1.8.5は終了したんですが、何と比べてるんですか。

346 :デフォルトの名無しさん:2008/08/20(水) 10:44:06
1.9.1はYuguiさんじゃなかったっけ

347 :デフォルトの名無しさん:2008/08/20(水) 11:47:20
>>345
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/17427
これと矛盾してるんだがどっちが正しいんだ?

348 :デフォルトの名無しさん:2008/08/20(水) 12:07:27
>>347
どこが矛盾してるのかわからん。

ruby_1_8から新しい1.8.xを切り出してリリースするのが武者さん。
切り出された後の1.8.xのパッチリリースをするのが卜部さん。

349 :デフォルトの名無しさん:2008/08/21(木) 00:05:11
本来初心者用スレで質問すべきかと思ったのですが、スレに書き込めなかったためこちらに書き込ませていただきます。
普段はperl書きで最近rubyを勉強し始めたのですが、rubyでのハッシュのハッシュ、配列のハッシュの書き方がよくわかりません。
perlでは
$hash{$key1}{$key2} = $value
push @{$hash{$key}}, $value
のように使っているのですがrubyでの書き方を説明している良いサイト、資料など教えていただけないでしょうか。
『たのしいRuby』 13.7.1で紹介されている方法ではなく、上記のような記述の方法はないのでしょうか。
色々とサイトを見て回ったつもりなのですがこれというサイトが自力では見つかりませんでした・・・。

350 :デフォルトの名無しさん:2008/08/21(木) 00:44:32
> 『たのしいRuby』 13.7.1で紹介されている方法
本が手元にないとさっぱりわからん斬新な説明法だな

えーと、入れ子になった(ネストした)ハッシュのことだと推定
Ruby は(Ruby も?)「ハッシュのキー指定が連続している」というような特別扱いはしない
ハッシュ h があったとして、h['key1']['key2']['key3'] は、

h['key1'] … ハッシュ h のキーが 'key1' なペアの返り値のオブジェクト
h['key1']['key2'] … ↑のオブジェクトを obj とするなら単に obj['key2'] の返り値
h['key1']['key2']['key3'] … ↑の(中略)単に obj['key3'] の返り値

という恐ろしく単純な解釈を経てる
「hの中の'key1'の'key2'の'key3'のハッシュ」ではなく「h['key1']の返り値の['key2']の返り値の['key3']」だ

第二版の『たのしいRuby』 13.7.1 に何が書いてあるかわからんので変なことしか言えん
上記の場合は h['key1'] と h['key1']['key2'] が 存在しないと「次のキー」が探せなくてメソッドエラーになるよ
存在しないキーを勝手に作ってくれるということはない

351 :デフォルトの名無しさん:2008/08/21(木) 00:49:14
>>349
hash[key1][key2] = value
hash[key].push(value)
で良さそうな気がするけど、そういうことではない?

Perlも別に多次元配列なんてないからイメージとしては>>350みたいに
なると思うけど
あっちはリファレンスで実現するから、むしろややこしい気がする

352 :デフォルトの名無しさん:2008/08/21(木) 01:03:20
レス、ありがとうございます!
まさしくネストしたハッシュをを記述したいのですが、rubyでコーディングしてもうまく機能してくれず・・・。
具体的には、100個のファイルがあり、それぞれのファイルが同じフォーマットのCSVで
第1カラムから第2カラムまで有る時に、
hash[ファイル名][第1カラム] = 第2カラム
という記述か、
perl風に書けば
push @{$hash{ファイル名}{第1カラム}}, 第2カラム
という構造のデータをrubyで記述したいと考えてます。

ちなみに、『たのしいRuby』13.7.1で紹介されているハッシュのハッシュは
table = {"A"=>{"a"=>"x", "b"=>"y"},
"B"=>{"a"=>"v", "b"=>"w"} }
といったネストしたハッシュの記述です。
失礼いたしました。


353 :デフォルトの名無しさん:2008/08/21(木) 01:24:29
>>352

>>350に初心者スレのエスパー能力を垣間見たw
参照時ではなく、ハッシュを作るときの記述、という意味か。
エスパーの練習をしてみると、作りたいのは配列のハッシュのハッシュか

hash = {
'file1' => {'col1' => ['col2', 'col2', ... ], 'col1' => [ ... ], ... }
'file2' => {'col1' => ['col2', 'col2', ... ], 'col1' => [ ... ], ... }
...
}
っていう感じのものかと創造。
ハッシュ・配列を最初に初期化してやればいいんじゃない?

hash = {}
hash['file1'] = {}
hash['file1']['col1'] = [] if hash['file1']['col1'].nil?
hash['file1']['col1'] << col2
# 上記、それぞれの段階でループ

こんな感じでいける?
# やっぱり初心者スレの方がよさそう

354 :デフォルトの名無しさん:2008/08/21(木) 01:25:33
Ruby の悪いとこは、マニュアルいきなり self とか書くところだな

>>352
ということで、既存のハッシュオブジェクトにペアを追加したいときは self[key]=val の形式を使う
h[key] = value
とすると、ハッシュ h に 「key => value」 の組が追加される

一番間違いのない方法は、最初にファイルをリストしたときにハッシュのキーを作ってしまうこと
h = Hash.new
filelist.each do |filename|
h[filename] = Hash.new
end
こうしておけば、h[ファイル名][第1カラム] = 第2カラム と書いたときに 「h[ファイル名] が nil だったよエラー」が出ない

個人的にはネストしたハッシュをネストしたままアクセスするのは番地思考であまり好きではない

355 :デフォルトの名無しさん:2008/08/21(木) 01:31:06
ファイル読み込んだタイミングで

hash[ファイル名] = {}

行をパースするタイミングで
hash[ファイル名][第一カラム] = 第二カラム

にすればいけそうだけどなあ。

files.each do |file|
hash[file.name] = {}
file.readlines.each do |line|
a = line.split(',')
hash[file.name][a[0]] = a[1]
end
end

検証はしてない

356 :デフォルトの名無しさん:2008/08/21(木) 01:33:32
みんな同じ事書いててワロタ

357 :デフォルトの名無しさん:2008/08/21(木) 21:31:18
みなさんありがとうございます!
355さんのコードを参考にさせてもらいました。
それにしてもやっぱりperl脳から切り替えないとダメですね。。。

358 :デフォルトの名無しさん:2008/08/21(木) 22:19:03
1.9 をインストールする

…この

> MCmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmCCmmmmmmmmmmmmmmmmmmmmmmmmmmmm

っていう楽しげなの何? いや、なんとなくわかるけど

359 :デフォルトの名無しさん:2008/08/21(木) 22:35:24
EEEEEEEEEEFEEFFEEEEF.FFEEEEEEE

360 :デフォルトの名無しさん:2008/08/21(木) 22:45:43
しつもんー

require 'hoge' すると、 hoge/huga/mage.rb で SyntaxError が起こるんだよ
まあぶっちゃけその部分が 1.9 に対応してないだけなんだけどさ
なんとかして手元のスクリプトの中で上書きとかできないかな?

361 :デフォルトの名無しさん:2008/08/21(木) 22:56:51
>>360
ttp://doc.loveruby.net/refm/api/view/method/Kernel/v/=2dI
$LOAD_PATH 書き換えれば何とかならないかな

362 :デフォルトの名無しさん:2008/08/21(木) 23:18:10
>>358
モジュールクラスメソッドメソッドメソッドメソッドメソッドメソッドメソッド
__METHOD__!!!

363 :デフォルトの名無しさん:2008/08/22(金) 00:21:24
1.9 はちょっとやそっとではわけわからんのがなあ
文字エンコーディングの扱い方とか、今のところどういうポリシーで行けばいいんだ?
Web サーバから持ってきたファイルを正規表現でどうにかするっていうモジュールで UTF-8 変換とかしていいのか?

364 :デフォルトの名無しさん:2008/08/22(金) 00:36:43
Ruby M17N(前編) - 成瀬ゆい / Martin J. Durst
http://www.nicovideo.jp/watch/sm3824824
Ruby M17N(後編) - 成瀬ゆい / Martin J. Durst
http://www.nicovideo.jp/watch/sm3824931

365 :デフォルトの名無しさん:2008/08/22(金) 00:37:19
今のところ「ruby1.9 --encoding=Binary ./hoge.rb で動かしてください」というのが一番多い気がする
--encoding=Binary でとりあえず動くというのはそれはそれで凄いことのような気もするが

外人さん向けモジュールで日本人くらいしか喜ばない NKF とかホイホイ使うわけにもいかん
1.9 対応とかしようかなーと思っていじったらエンコーディングに関するエラーがバカみたいに出て諦めた
「普通に」動かすための暫定版ガイドとかあると嬉しいかも
もしかしてモジュールの全ファイルの先頭に -*- coding: binary -*- とか書けばうまくいくのか?

366 :デフォルトの名無しさん:2008/08/22(金) 01:47:41
ああ、みんな一度は 1.9 対応させようとしてエンコード問題に引っかかるんだな
俺が発狂したのはこれ
> in `=~': incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (ArgumentError)
モジュールの正規表現のとこ全部 force_encoding しなきゃならんのかと思って目の前が真っ暗に

367 :デフォルトの名無しさん:2008/08/22(金) 09:39:08
>>352
こんなこともできるよ

存在しないキーを勝手に作ってくれるハッシュ
(eban さんとこ経由 ruby-talk:311341)
hash = Hash.new {|h, k| h[k] = Hash.new(&h.default_proc) }

368 :デフォルトの名無しさん:2008/08/22(金) 12:21:04
>>366
//uを明示してるからじゃない?

$ ./ruby -Ku -v -e 's = "\x8f".force_encoding("ASCII-8BIT"); p [/./=~s,(/./u=~s rescue $!)]'
ruby 1.9.0 (2008-08-22 revision 18769) [i686-linux]
[0, #<ArgumentError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)>]


369 :デフォルトの名無しさん:2008/08/24(日) 18:25:58
キーの集合を別の集合にマッピングするのは、配列だと map でできるけど、
そのマッピング用の Hash 作るのはけっこう面倒くさくね?
リファレンスマニュアルだと、zip して flatten して * 展開とか書いてあるけど
ちょっとあんまりな感じ。というわけで、こんなのはどうだろう。

def Hash.map_from(keys, &block)
if block
Hash[ keys.inject({}) {|h, k| h[k] = block[k]; h } ]
else
Hash[ keys.inject({}) {|h, (k, v)| h[k] = v; h } ]
end
end

使い方:
keys = ['aaa', 'x', 'foge']
Hash.map_from(keys, &:size)
#=> {"aaa"=>3, "x"=>1, "foge"=>4}
Hash.map_from(keys, &:intern)
#=> {"aaa"=>:aaa, "x"=>:x, "foge"=>:foge}
Hash.map_from(keys.each_with_index)
#=> {"aaa"=>0, "x"=>1, "foge"=>2}

ここは偉いひとも見てるぽいので書いてみた。BTS? とかはよく知らん。

370 :デフォルトの名無しさん:2008/08/24(日) 19:46:40
優先順位付きキュー(Priority Queue)の実装ってありませんかね?

371 :デフォルトの名無しさん:2008/08/24(日) 19:48:02
ごめん,すぐ見つかったわ…
ttp://www.math.kobe-u.ac.jp/~kodama/tips-ruby-pqueue.html

372 :デフォルトの名無しさん:2008/08/24(日) 20:13:25
fuqueue!

373 :デフォルトの名無しさん:2008/08/24(日) 20:15:13
>>369
確かに見てるっちゃ見てるのかもしれんが、一部だけだろうし
MLに投げた方がやっぱり良いんじゃね?

374 :デフォルトの名無しさん:2008/08/24(日) 20:21:26
毎日新聞もその多大な影響力を認めたことだし
もう2chのRubyスレは見てませんみたいな振りはやめようぜw

375 :デフォルトの名無しさん:2008/08/24(日) 21:45:01
>>374
なんつーか、痛すぎる

376 :デフォルトの名無しさん:2008/08/24(日) 21:48:21
>374
・ライセンス的にグレー(実際はかなり真っ黒)
・受付管理が面倒になる
・そもそも2chチェックするのが面倒
だから無いんじゃない?

377 :デフォルトの名無しさん:2008/08/24(日) 21:52:01
・2ちゃんにマジレスするのはかっこわるい
という昔ながらの考え
これが一番だw

378 :デフォルトの名無しさん:2008/08/24(日) 21:55:58
前スレ辺りに中の人が出没してた気もするが
そういう事例が仮にあったとしても、ほとんど偶然だと考えたほうがいいw

379 :デフォルトの名無しさん:2008/08/24(日) 21:57:29
2chに書かれたコードをライセンスソフトウェアに取り込むのは至難の業

380 :デフォルトの名無しさん:2008/08/24(日) 22:04:40
2ch自体をrubyで再構成すれば無問題

381 :デフォルトの名無しさん:2008/08/24(日) 22:08:19
>>380
何故そうなるのかはわからんが、やるとしてもサーバ用の
Rubyコンパイラが必要だな

382 :デフォルトの名無しさん:2008/08/26(火) 12:46:20
InfoQ: GemのソースとしてのGitHub とRubyForgeの長所と短所
ttp://www.infoq.com/jp/news/2008/08/gems-from-rubyforge-and-github

383 :デフォルトの名無しさん:2008/08/26(火) 22:39:34
718 名前:仕様書無しさん[sage] 投稿日:2008/08/26(火) 22:36:26
MatzはIPAに育てられたのに恩義を全然感じてないのは
おかしいと思う

384 :デフォルトの名無しさん:2008/08/26(火) 22:47:16
>>383
燃料投下か?初耳だな
その前にIPAは受験料払った俺様に恩義を感じろと言いたい
経産大臣の印刷署名のペラ紙一枚送って対等だと思うなよ

385 :デフォルトの名無しさん:2008/08/26(火) 22:52:55
>>384
俺も金はいくらか払ったが、IPAフォントだけでおつりが来るくらい有り難いと思ってる
あとはHaru(PDFライブラリ)が使い物になってくれれば十分過ぎるかもw

386 :デフォルトの名無しさん:2008/08/26(火) 22:53:46
matzも支援を受けてたのか
YARVとかexerbは未踏なんちゃらに選ばれてた記憶があるが

387 :デフォルトの名無しさん:2008/08/26(火) 23:33:55
m17n関連で未踏やってたような。

388 :デフォルトの名無しさん:2008/08/26(火) 23:37:16
税金収めてる椰子はIPAに感謝する必要ないんだぜ
IPAは俺様の税金で成り立っている

389 :デフォルトの名無しさん:2008/08/26(火) 23:50:24
何かできる恩返しがあるとすれば、
まあせいぜい税金で得られた成果を有効活用するぐらいか

390 :デフォルトの名無しさん:2008/08/27(水) 00:49:58
>>388
LunaとAirWeb関連に使った金は返して欲しい。
なにが未踏なのか分からん。


391 :デフォルトの名無しさん:2008/08/27(水) 00:52:08
もう製造とかITに税金使わず
国策と農業と資源採掘に税金つぎ込んで欲しいよ。
他国に根源的なリソース抑えられたら手も足も出ないからな。

392 :デフォルトの名無しさん:2008/08/27(水) 00:53:06
>>390
そういう無駄につぎ込めるのは、ぶっちゃけ税金(と、意味不明な無償の奉仕)だけだぞ
試行錯誤の必要性がわからんわけでもあるまいに

393 :デフォルトの名無しさん:2008/08/27(水) 01:01:14
>>391
思いっきりスレ違いだと思うが、一応言っとくか・・・右翼乙
それで1億3千万、農業国家で食わせてみろってんだ

理想は平和でいいとは思うけどね・・・それも資源とか言ってる
時点でだめか

394 :デフォルトの名無しさん:2008/08/27(水) 07:47:41
また今日も見えない敵と戦う日々ですか

395 :デフォルトの名無しさん:2008/08/27(水) 13:00:40
最近の2chはとりあえずウヨサヨニートといっておけばいいみたいな安易さを感じないわけにはいかない

396 :デフォルトの名無しさん:2008/08/27(水) 17:04:13
>>394
プチウヨは「見えない敵」ではなく「見えるゴミ」です

397 :デフォルトの名無しさん:2008/08/27(水) 17:50:38
>>396
仮にそうだとしても、「見えないゴミ」だと思ってくれ。ここでは。

398 :デフォルトの名無しさん:2008/08/29(金) 12:32:30
rake clean と打ったつもりが、gem clean と打っていた

399 :デフォルトの名無しさん:2008/08/29(金) 20:17:22
自給率100%は非現実的だが、それに近づける努力は必要だろう。

400 :デフォルトの名無しさん:2008/08/29(金) 20:34:22
その話まだ続いてたのかw
その努力のために、対外的に通用する可能性のある産業の育成を放棄していいとも思わんぞ

というわけで、IPAは未踏の枠を増やして俺に金をよこせ。ばら撒き万歳。

401 :デフォルトの名無しさん:2008/09/01(月) 20:38:48
男女共同参画事業とかいって駅に啓蒙ポスター貼るみたいな無意味なことする
よりはロケットとかスパコンとかプログラマ育成とに金掛けろよ
そこで天才女を引っ張ってくればいいんだからさ。
目指せ明日のグレース・ホッパーだよ。


402 :デフォルトの名無しさん:2008/09/02(火) 05:48:06
成果型評価になってから、官僚は年度内に成果が出ない物は
ガンガン切り捨てるよ。

未来を見据えてなんてのは無くなった。

403 :デフォルトの名無しさん:2008/09/02(火) 15:53:12
私は如何にNarioを作り、1面をクリアしたか
http://jp.youtube.com/watch?v=Y5NWYAgCTXA

404 :デフォルトの名無しさん:2008/09/02(火) 16:09:28
LL Futureで大ウケしたやつかw

405 :デフォルトの名無しさん:2008/09/02(火) 17:39:54
おまいらが教えてくれないから、LL Future 行き忘れたではないか。

406 :デフォルトの名無しさん:2008/09/02(火) 19:57:17
>>405
チケット買った1000人のうち来なかった200人の一人か
つーかなんで忘れるん。

407 :405:2008/09/02(火) 21:28:26
仕事でバタバタしてるうちに忘れてしまった(泣)。
んで >>404 見てあーしまったって感じ。
ていうか同士が200人も居るのか。


408 :デフォルトの名無しさん:2008/09/02(火) 23:29:52
任天堂法務部の方から参りました。


409 :デフォルトの名無しさん:2008/09/05(金) 10:19:51
いつのまにか業界人のゴミだめになってる件について。

410 :デフォルトの名無しさん:2008/09/05(金) 11:13:39
なら話題を振ってください

411 :デフォルトの名無しさん:2008/09/05(金) 19:43:24
Matzの会社を財務分析してみたんだが。
http://d.hatena.ne.jp/AntiSeptic/20080704/p1

などと思わせぶりな言い方をするものだから覗いてみりゃ、
なんて事無い田舎の零細企業の財務諸表であって、面白くもなーんともなかったわけだ。

それにしても、この程度の収益で2007年度って、
あの会社にとっては多分空前絶後の景気のいい年だったはずだの
Rubyとゆー「鉱脈」があるだの言っているのは何なのだ。
Geekのヨタ話というのは、いつもこんなしょぼいスケールで行われているのか?
あそこの技術者の平均レベルは、他の普通の会社よりはずっと高いと思うって、
これじゃあ、技術なんてIT企業の収益とは何の関係も無いと証明しているようなもんじゃねえか。

そもそも、この会社が何をやっているのかがHPを見た限りではよく分からん。
要は受託開発だろ労働力を人月で売ってるだけだろマーケ屋がこねくりあげた横文字得意げに使ってなに悦に入ってやがんだコラ。
更には製品・サービス部門まであって、なにやら参考価格が書いてあるところを見ると、
多分にパッケージっぽい印象を受けるが、それでいて全体の粗利率が26%程度ではどうしようもないだろ。

あそこに入りたい人は、損益計算書も注意して見ておくといい。まぁこれはどんな会社でも同じだけど、
ここを見るといろんなことが見えて来る。株価指標を計算してみるのもいい(非公開会社でもね)。

412 :デフォルトの名無しさん:2008/09/05(金) 19:43:50
古いネタだな

413 :デフォルトの名無しさん:2008/09/05(金) 21:59:10
ソースが ogochan か。お前が言うな、ってこういう時に使う言葉かな…

414 :デフォルトの名無しさん:2008/09/05(金) 22:14:39
githubどうっすか?

415 :デフォルトの名無しさん:2008/09/06(土) 04:03:53
>>411
rubyネタだったら誰かは釣られたかもしれないが、おまえの株式分析自慢だったらオナニーでしかないな…

416 :デフォルトの名無しさん:2008/09/06(土) 11:27:52
AntiSeptic って、話題になりそうないちゃもん付けネタを必死に追求してる
芸人だろw

417 :デフォルトの名無しさん:2008/09/07(日) 05:44:37
以下のようなYAMLデータを・・・
---
- apple: 2
- orange: 3
実行結果
[{"apple"=>2}, {"orange"=>3}]

以下のように!pairsでデータの型を組(要素が 2 つの配列)に明示的に指定できますよね・・・
---
!pairs
- apple: 2
- orange: 3
実行結果
[["apple", 2], ["orange", 3]]

実行結果は[["apple:", 2], ["orange:", 3]]になったらすっきりするのになあと思うのはわたしだけ?
それとも実際の結果のような動作のほうが都合がよかったからこういう仕様なのでしょうか?
だとしたらそれは何?

418 :デフォルトの名無しさん:2008/09/07(日) 06:23:52
女性なのにフェミニズムが嫌いな人が多いのは何でですか?

419 :デフォルトの名無しさん:2008/09/07(日) 08:10:04
>実行結果は[["apple:", 2], ["orange:", 3]]になったら
その仕様だと、解析時にappleと2の区切りをどうやって判定するんだ
そもそも、何がどうすっきりするのかが分からない

420 :デフォルトの名無しさん:2008/09/07(日) 08:26:52
>>419
解析時じゃなくて結果の"apple:"←このコロンです。

421 :デフォルトの名無しさん:2008/09/07(日) 08:32:04
だから何ですっきりするんだよ

422 :デフォルトの名無しさん:2008/09/07(日) 09:32:34
>>417
それは君が Ruby の初心者で、コレクションの要素を扱う方法を知らないからだよ
each とか map とか使ってるか?

423 :デフォルトの名無しさん:2008/09/07(日) 09:43:27
コレクションでもいいんですけど、setterをやりたいときどうやるんですか?

424 :デフォルトの名無しさん:2008/09/07(日) 09:47:33
もはや意味不明

425 :デフォルトの名無しさん:2008/09/07(日) 10:03:16
デンターシステマw

426 :デフォルトの名無しさん:2008/09/07(日) 10:18:10
YAMLもわかんねークズばっかだな。糞スレ。

427 :デフォルトの名無しさん:2008/09/07(日) 10:20:36


女が混じると、こうも糞スレになるとは…


もう創価学会しかないな…




428 :デフォルトの名無しさん:2008/09/07(日) 10:34:04
>>427
えっ?
そこ行くと女とやりまくれるんですか????

429 :デフォルトの名無しさん:2008/09/07(日) 10:34:37
名字に

金、木、米、村、山、川、林、森、中、上、下、東、
西、南、北、大、小、島、辺、高、塚、藤、麻、岡、
清、宮、松、竹、梅、崎、野、部、沢、池、橋、田、
井、谷、石、吉、本、前、福、浦、原、内、尾、遠、

↑の漢字が入ってると間違いなく在日
まめちしきな
案外近くにいると思うよ

430 :デフォルトの名無しさん:2008/09/07(日) 10:38:16
昔winnyあたりで流出した在日・同和名鑑どこかにないですか?
住所とか書いてあるやつですけど、引っ越してきた奴がキチガイなんで、こいつのことを警察にいくら問い合わせても教えてくれないで調べたいんです。
どなたか海外のFTPとかにアップしといてくれませんか?

431 :デフォルトの名無しさん:2008/09/07(日) 12:10:46
なんでyamlの仕様の話がRubyスレに出てくるんだ。


432 :デフォルトの名無しさん:2008/09/07(日) 12:20:25
1.8から標準ライブラリになったからじゃないの?

433 :デフォルトの名無しさん:2008/09/07(日) 12:37:20
YAMLはRubyとは無関係
HTTPの仕様をRubyに聞くのに似ている

434 :デフォルトの名無しさん:2008/09/07(日) 12:43:32
ようするに、
わからないから出て行け!!

435 :デフォルトの名無しさん:2008/09/07(日) 12:52:10
ようするに問題の切り分けも出来ない香具師だってことを露呈してるわけ。


436 :デフォルトの名無しさん:2008/09/07(日) 13:03:06
というわけで後から採用された標準ライブラリに関する話題は全部それぞれ専門スレ立ててね!

437 :デフォルトの名無しさん:2008/09/07(日) 13:26:21
問題の切り分けが出来ない人がもう一人いた。


438 :デフォルトの名無しさん:2008/09/07(日) 19:56:31
最初は相手してたのにわからなくなったからって冷たいですねw

439 :デフォルトの名無しさん:2008/09/07(日) 20:25:57
創価学会はいいところなんですか?

440 :デフォルトの名無しさん:2008/09/07(日) 20:42:02
何でもいいから動作速度10倍にしてくれ
いまのままじゃ使い物にならん

441 :デフォルトの名無しさん:2008/09/07(日) 20:45:59
どういう用途において?

442 :デフォルトの名無しさん:2008/09/07(日) 20:46:02
おまえが10倍速でプログラミングすれば、今のままでも使い物になるな

443 :デフォルトの名無しさん:2008/09/08(月) 01:12:04
rexmlはなんであんなに遅いの?
Javaでxerces2使うより100倍くらい遅い気がする。

444 :デフォルトの名無しさん:2008/09/08(月) 04:10:07
>>443
Hpricot使えばいいだろ
rexmlが遅いといってもBeautifulSoupよりは速い

445 :デフォルトの名無しさん:2008/09/08(月) 08:28:57
>>444
BeautifulSoupってそんなに遅いんだっけ
もしベンチマーク結果とかあればおしえて

446 :デフォルトの名無しさん:2008/09/08(月) 09:04:28
Hpricotってそんなに速いのか

447 :デフォルトの名無しさん:2008/09/08(月) 09:47:37
Hpricotは別に速いわけじゃない
パース部がCで普通に動作してるだけ
Rubyスクリプトから見れば相対的に速い

あと枚挙とかのRuby実装部分の速度はただのRuby
「Hpricot速いぜ!」とか浮かれてsearchとか使いまくってるとどんどん遅くなる

448 :デフォルトの名無しさん:2008/09/08(月) 10:00:30
おまんこから血が噴き出してるんですがどうしたらいいのでしょうか?

449 :デフォルトの名無しさん:2008/09/08(月) 10:02:27
>>447
searchやatに関わるあたりを全部Cで書いたらもっと速くなるかな?
そうでもないか

450 :デフォルトの名無しさん:2008/09/08(月) 11:06:41
層化だと10倍なんですか?

451 :デフォルトの名無しさん:2008/09/08(月) 12:02:09
比較なら自分でちょこっとやればいいじゃん

…って、BeautifulSoup って Python のライブラリじゃねーか
ふつーに考えれば Python で作ったもののほうが若干速い傾向にあると思うんだけど

452 :デフォルトの名無しさん:2008/09/08(月) 22:39:03
rails使える月1000円以下のサーバ教えてください(日本語サービスで)
なかったらphp使います

453 :デフォルトの名無しさん:2008/09/08(月) 23:06:14
PHP使った方が早いならそうすれば。

454 :デフォルトの名無しさん:2008/09/08(月) 23:13:20
Railsを満足行く速度で使うことのできる共用レンタルサーバはないよ
Webサーバの設定をいじれる専用サーバならなんとかなるかもしれない

455 :デフォルトの名無しさん:2008/09/09(火) 00:59:52
HpricotってXMLパーサーじゃなくてHTMLパーサーじゃん。
DOMかSAXっぽくアクセスしたいのに違う物だされても…

456 :デフォルトの名無しさん:2008/09/09(火) 01:03:35
つ Hpricot.XML

これじゃ駄目か?


457 :デフォルトの名無しさん:2008/09/09(火) 01:33:56
HpricotでXMLがてきとーにパースできることを知らない人は結構多い
XHTMLとかもふつうに読めるぞ

require 'rubygems'
require 'open-uri'
require 'hpricot'
rss = URI.parse('http://dailynews.yahoo.co.jp/fc/rss.xml').read
doc = Hpricot.XML.parse(rss)
puts doc.search('//rss/channel/item/title').map{|e| e.inner_text} # is utf-8

「早く解散を」43% 読売調査
大分 教員交代に児童涙も
釦膕鏤
防カビ剤 ポッカレモン回収
池袋中華街構想に地元反発も
露鵬は「怒りで震えるほど」
プロ野球 新人王争いの行方 
大河「天地人」に小栗、上地ら

あ、1個化けてる

458 :デフォルトの名無しさん:2008/09/09(火) 01:55:40
>>457
うちでは化けなかったけど、とりあえず、XMLがメソッドだから
parseいらなくね?


459 :デフォルトの名無しさん:2008/09/09(火) 03:10:39
>>455
DOMでいいならXPATHでも問題ないだろ


460 :デフォルトの名無しさん:2008/09/10(水) 01:43:47
HotCocoaを収録した「MacRuby 0.3」がリリース
http://journal.mycom.co.jp/news/2008/09/10/001/index.html

461 :デフォルトの名無しさん:2008/09/10(水) 03:14:06
今更だけど、MacRubyって、MacPerlとかMacIEとかの
前例にも懲りずめげないネーミングだなあ

462 :デフォルトの名無しさん:2008/09/11(木) 08:42:06
いじけるなよささださん

463 :デフォルトの名無しさん:2008/09/11(木) 11:37:29
Cobol最強伝説
http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B9%E3%83%BB%E3%83%9B%E3%83%83%E3%83%91%E3%83%BC

464 :デフォルトの名無しさん:2008/09/11(木) 21:51:31
ライブラリmatrixのVectorってあんまり使う人いないのかな
irb(main):001:0> RUBY_VERSION
=> "1.8.4"
irb(main):002:0> require 'matrix'
=> true
irb(main):003:0> v1=Vector[1,2,3]
=> Vector[1, 2, 3]
irb(main):004:0> v2=Vector[1,2,3]
=> Vector[1, 2, 3]
irb(main):005:0> v1==v2
=> true
irb(main):006:0> v1.equal? v2
=> false
irb(main):007:0> v1.eql? v2
=> false
irb(main):008:0> [v1.hash, v2.hash]
=> [25, 25]

Hashのキーにしたらヒットしなくて発覚

ttp://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/matrix.rb?view=log
> alias eqn? ==
現時点でまだ直ってないっぽい。
↓ここにも気付いている人がいた
ttp://yueda.issp.u-tokyo.ac.jp/weda/blog/?date=20080807

465 :デフォルトの名無しさん:2008/09/11(木) 22:00:08
ちなみにMatrixで同等の列ベクトルを表現した時と挙動が違う、というのが問題点ね
犯人はマツ

466 :デフォルトの名無しさん:2008/09/11(木) 22:02:03
matrixとかあのへんの数学はコントリビュータの力が弱くてな

467 :デフォルトの名無しさん:2008/09/11(木) 22:04:40
え?数学ライブラリ、チョコチョコ使ってるんだけど。複素数の方だけどw

468 :デフォルトの名無しさん:2008/09/11(木) 23:38:10
volatileってのは要するにレジスタ変数のことだってだれか教えてやれw

469 :デフォルトの名無しさん:2008/09/12(金) 02:00:53
>>468
「違うぞ」って君に教えたくなった。

470 :80.122.17.122 :2008/09/12(金) 02:05:16
>>469
ネタを(ry

471 :デフォルトの名無しさん:2008/09/12(金) 02:44:37
意外とみんなの知識が雑

472 :デフォルトの名無しさん:2008/09/12(金) 14:25:07
意外?

473 :デフォルトの名無しさん:2008/09/12(金) 22:37:32
wsdl2rubyの質問はここでいいですか?

474 :デフォルトの名無しさん:2008/09/12(金) 23:38:13
msn live searchのapiがrubyでどうしても使えない。
wsdl2rubyでクラスを作ろうと思ったんだがエラーが出てどうにもならない。
もしかしたらwsdl2ruby.rbが古いのかもしれないが。
誰かrubyでmsn api使ったことある人いる?

475 :デフォルトの名無しさん:2008/09/13(土) 19:36:42
>>464
につけたし

> [1.hash, 1.0.hash]
=> [3, 45637]
> 1.eql? 1.0
=> false

> [[1].hash, [1.0].hash]
=> [1, 45639]
> [1].eql? [1.0]
=> false

> [Matrix[[1]].hash, Matrix[[1.0]].hash]
=> [3, 45637]
> Matrix[[1]].eql? Matrix[[1.0]]
=> true
これはObject#eql?の規約に違反してるっぽい

476 :デフォルトの名無しさん:2008/09/14(日) 09:49:43
ボクの考えたRuby改善案ネタって盛り上がるだけで生産性に乏しいのが玉に亀裂
と誤爆してみる

477 :デフォルトの名無しさん:2008/09/14(日) 09:57:55
と、嘆くだけしか能がない糞でした…

478 :デフォルトの名無しさん:2008/09/14(日) 12:22:32
大学の友人が「マッツしてくるわ」って言うもんだから
なんのことかと思ったら「松屋で牛丼を食うこと」を「マッツする」というらしい。

479 :デフォルトの名無しさん:2008/09/14(日) 14:16:25
うむ。デニるとか言ってた記憶があるな

480 :デフォルトの名無しさん:2008/09/14(日) 14:53:39
1.9でWindowsではスクリプトのファイル名 $0 の文字コードはWindows-31Jとかになったほうが良いんじゃないだろうか
使用法を表示しようとして
puts "使用法: #{File.basename($0)} -a [-b] 入力ファイル [出力ファイル]"
とかやったら、スクリプトのファイル名が日本語だと
incompatible character encodings: ASCII-8BIT and Windows-31J (EncodingCompatibilityError)
となって、素直に連結できない



481 :デフォルトの名無しさん:2008/09/14(日) 15:09:42
>>480
Encodingについて勉強しなおせ

482 :デフォルトの名無しさん:2008/09/14(日) 15:14:30
コナミのQMADSのサーバースクリプトRubyで動かしてるっぽいけど
落ちまくりだな。やっぱRuby重いんだな。

483 :デフォルトの名無しさん:2008/09/14(日) 15:21:24
>>482
多分、元twitterの中の人が運用してるんだよ

484 :デフォルトの名無しさん:2008/09/14(日) 16:25:36
>>464

報告thx!
http://redmine.ruby-lang.org/issues/show/560

485 :80.122.17.122 :2008/09/14(日) 16:37:24
>>480
./ruby -v tmp/ほげ.rb
ruby 1.9.0 (2008-09-14 revision 19337) [i386-mingw32]
使用法: ほげ.rb -a [-b] 入力ファイル [出力ファイル]

File.basename($0).encode(__ENCODING__) にしたほうが確実だと思うが。


486 :デフォルトの名無しさん:2008/09/14(日) 17:08:50
>>484
おお速い。乙です

487 :デフォルトの名無しさん:2008/09/14(日) 18:05:49
>>484
>>475的観点で、コードとテスト結果が矛盾してるなあと思って調べたら、
テストケースにtypo発見しちゃった

test/matrix/test_vector.rb (revision 19338)
> @v4 = Vector[1,0, 2.0, 3.0]

test/matrix/test_matrix.rb (revision 19338)
> @m4 = Matrix[[1,0, 2.0, 3.0], [4.0, 5.0, 6.0]]

× 1,0
○ 1.0

へっへっへ

488 :デフォルトの名無しさん:2008/09/14(日) 19:57:22
>>484
もうひとつ

[1] == [1.0]
# => true
[[1]] == [[1.0]]
# => true
require 'matrix'
# => true
Vector[1] == Vector[1.0]
# => true
Matrix[[1]] == Matrix[[1.0]]
# => true

この流れは理に適っていると思うので、

> assert_not_equal @v1, @v4

> assert_not_equal @m1, @m4

こうはならないと思います

489 :デフォルトの名無しさん:2008/09/14(日) 20:00:02
>>487 昔これでロケットが落ちたもんだ。

490 :デフォルトの名無しさん:2008/09/14(日) 21:20:55
そんな話もあったあったと探してみたら

http://d.hatena.ne.jp/kmori58/20051208/p3
FORTRANのDO文と落ちたロケットのfolklore - kmoriのネタままプログラミング日記
> ではFORTRANのDO文という話はどこから来たのか?この疑問に対する答えが、後日同じRisk MLに投稿された。

伝説だったらしいw

491 :デフォルトの名無しさん:2008/09/14(日) 21:29:03
しまった、書き込み前に茶を1杯飲んだら先を越された。
まぁせっかくなので書いておくと、wikipediaにもその話が載ってるね。
http://ja.wikipedia.org/wiki/FORTRAN

これを初めて目にしたのはエキスパートCプログラミングだったかな。
面白くていい本だったのだが、人に貸したら行方不明になってしまった。
今更買い直す気にはなれないけど実に残念だ。

492 :デフォルトの名無しさん:2008/09/14(日) 21:53:34
ちなみに、redmine.ruby-lang.orgの「チケット」のページの下のリンクからとれる
CSV形式の出力は、符号化がめたくたになっているような気がする。
Atom形式は大丈夫っぽい。

493 :デフォルトの名無しさん:2008/09/15(月) 06:53:55
>>484
まとめると、Matrix/Vectorの #eql? は #== とも #equal? とも違って、
Array#eql? に基づいたものでなければいけないんじゃないでしょうか、ということね

494 :デフォルトの名無しさん:2008/09/15(月) 15:33:40
質問!
クラス内で定義されていないメソッドがいきなり使われてたりするんだけど、どうなってるのかがわからない。(当然継承とかincludeもしていない。)
例えば、R-specとかは、describe~endの中にテストを記述するけど、普通、自身のクラス外で定義されたものってのは、
HogeClass::describe
とかって使うもんじゃないの?
普通にdescribeってかいたら、自クラス内のdescribeメソッドを探すんじゃないかと思うんだけど。。。

誰か教えてください。

495 :デフォルトの名無しさん:2008/09/15(月) 15:49:37
describeが定義されているのは
spec.rb =>
spec/extensions.rb =>
spec/extensions/main.rb のSpec::Extensions::Main::describeとして。

このファイルの最後で
include Spec::Extensions::Main
してるので、トップレベルで見えることになる。



496 :デフォルトの名無しさん:2008/09/15(月) 16:12:03
>495

ありがとうございます!
例えば、hoge.rbのテストhoge_spec.rbを実行するときは、

# ruby hoge_spec.rb

です。
spec/extensions/main.rbは、hoge_spec.rbの中では呼び出されていません。どうして、hoge_spec.rbを実行中にspec/extensions/main.rbが実行されるのかがわからないのですが。。。


497 :デフォルトの名無しさん:2008/09/15(月) 17:23:12
require 'spec'もしてないの?


498 :デフォルトの名無しさん:2008/09/15(月) 17:26:52
Hashkellは玄人好みでムズイ…

499 :デフォルトの名無しさん:2008/09/15(月) 18:48:01
Haskellは見た目が。。
個人的にLispよりさらに無理

500 :デフォルトの名無しさん:2008/09/15(月) 18:48:39
はい擦れ違い擦れ違い

501 :デフォルトの名無しさん:2008/09/15(月) 19:00:48
>>499
見た目って?
かなりすっきりしてると思うけどな

502 :デフォルトの名無しさん:2008/09/15(月) 20:18:34
>>485
1.9.0-4使ってたんですが
最新版では対処されてたんですね
>ruby -ve "puts $0.encoding"
ruby 1.9.0 (2008-08-26 revision 18849) [i386-mingw32]
ASCII-8BIT

>ruby -ve "puts $0.encoding"
ruby 1.9.0 (2008-09-15 revision 0) [i386-mingw32]
Windows-31J

初めて最新版スナップショットからビルドしてみたけど
Subversion入れてないとrevisionが生成されないのかな


503 :デフォルトの名無しさん:2008/09/15(月) 20:29:05
そんなことよりPythonスレに来てるRuby坊なんかしろよ屑

504 :デフォルトの名無しさん:2008/09/15(月) 20:43:23
>>503
Rubyスレに来てるhaskell厨なんとかしてカス

505 :デフォルトの名無しさん:2008/09/15(月) 20:44:06
RubyスレでもPython勧誘が定期的に出没する
個別に対応してくれ

506 :デフォルトの名無しさん:2008/09/15(月) 20:48:45
dtrees :: [Char] -> [Term]
まずこんな宣言の仕方が気にくわない!数学かよと思う。なぜ今までのCとかの
宣言方法じゃダメだったんだと。

dtrees ds = concat [ joins ls rs | (ls,rs) <- [ lrs xs ys | (xs,ys) <- splits1 ds ]]
次にこんなのとか右から左に矢印がいくなんて信じられないね!

507 :デフォルトの名無しさん:2008/09/15(月) 20:59:25
>>505
いや、俺たちの希望はエホバにあるはず!

508 :デフォルトの名無しさん:2008/09/15(月) 21:26:09
輸血禁止!!

509 :デフォルトの名無しさん:2008/09/15(月) 21:27:25
Matzが出血多量になったらどうする?
強制的に輸血するほうがruby界のためなのか、
そのまま死んでもらっても困らないのか

510 :730:2008/09/15(月) 21:29:59
新スレできたよ
かえっておいで

Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/

511 :デフォルトの名無しさん:2008/09/15(月) 21:40:09
>>508-509
Matz って Jehovah's witness なの? Mormon かと思ってた。

512 :デフォルトの名無しさん:2008/09/15(月) 21:48:41
つまりマンモグラフィーマンボみたいなものか

513 :デフォルトの名無しさん:2008/09/15(月) 21:53:20
いや、あってるよ。
酒、タバコ、お茶禁止な人です

514 :デフォルトの名無しさん:2008/09/15(月) 22:00:36
>>513
Mormon ならば輸血は OK じゃん。

515 :デフォルトの名無しさん:2008/09/15(月) 22:02:50
他人の信仰を茶化すのはどうかと思うが。

516 :デフォルトの名無しさん:2008/09/15(月) 22:13:07
あと、純潔を守らないといけなんいだよね

517 :デフォルトの名無しさん:2008/09/15(月) 22:21:18
rubyってオフ会もできないじゃん orz

518 :730:2008/09/16(火) 00:05:15
面白くて新規性があるアイデアを思いついたんですが、
完成させたら来年のruby会議で発表とかしても良いですか?
ちなみにニートです。

519 :80.122.17.122 :2008/09/16(火) 00:49:03
>>502
> 初めて最新版スナップショットからビルドしてみたけど
> Subversion入れてないとrevisionが生成されないのかな
snaphot.tar.gzだとparse.hも入ってないな。
生成用スクリプトが古いと思われ。


520 :デフォルトの名無しさん:2008/09/16(火) 14:45:09
>>467
http://redmine.ruby-lang.org/repositories/revision/1?rev=19355
どうやら複素数の.hashや.eql?も微妙に変わったらしいよw

521 :デフォルトの名無しさん:2008/09/16(火) 23:52:12
鼻糞…塩味。食べごたえがあって美味 。緑色が高品質とされる 。空腹時の定番。
耳垢…苦い。細かい毛が混じっていて、粉っぽい。水分が多いとニオイはトップクラスに分類される
目ヤニ…塩味。とにかく堅くて、小さい。歯応えが萎びた納豆に似ている
爪の垢…薄い塩味。もさっとしている。意外に量が多く、食べごたえあり。通は足の親指のモノを好む
ニキビ芯…味なし。ゴマみたい。
ヘソのゴマ…味なし。歯応えは体調によってまちまち。香りは独特
フケ…粉っぽい。1か所に大量に集めて食うのがベター 。まれににフケの中央に小さいカサブタが付いてくる事があるが、これはまぎれもなくプレミア物。
肛門の回りに付着するカス…まれにGET出来るが極めて貴重。歯応えが神がかっている
膿…ジュルジュルして口で絡み合う。味は苦いが飲み応えがグッド!!
毛根の透明の物質…味なし。稀に歯応え最強のモノがGET出来る。玉袋付近の毛が高確率
歯クソ…モノによる。食材、潜伏期間などによってまちまち。一般には肉類、三日間熟成、発酵がよいとされる
チンカス…ほぼ味なし。マシュマロのような見た目。マニアには絶大な支持と人気を誇るニオイ最強品といっても過言ではない
舌苔…パサパサした中に若干の潤いあり(口内の状況により様々)薄い粘土の味がする。

522 :b134087.ppp.asahi-net.or.jp :2008/09/17(水) 14:20:56
[OSC島根]「RubyでCOBOL技術者は復活する」---松江市の基幹システム開発で得られた実感
http://itpro.nikkeibp.co.jp/article/NEWS/20080916/314938/

こういう実例が出てきていよいよRubyは21世紀のCOBOLとしての評価が定まりつつあるな。
リンク辿って行くと設計書が見れるけどまんまCOBOL

523 :デフォルトの名無しさん:2008/09/17(水) 15:43:20
fusianaまでしてコピペ君って馬鹿だな、まで読んだ

524 :デフォルトの名無しさん:2008/09/17(水) 15:52:14
ふしあなさんじゃなくて、navi2chだろ。

525 :デフォルトの名無しさん:2008/09/17(水) 16:25:39
>>522
その記事、中身の情けなさに泣けた。


526 :デフォルトの名無しさん:2008/09/17(水) 16:36:42
RubyとCOBOLで生産性が同じwww
Ruby\(^o^)/

527 :デフォルトの名無しさん:2008/09/17(水) 19:24:55
おい、PythonスレのRuby坊マジどうにかしろ屑ども
\(^o^)/なんて言ってる場合じゃねぇから


528 :デフォルトの名無しさん:2008/09/17(水) 19:27:09
どうしろと

529 :デフォルトの名無しさん:2008/09/17(水) 19:58:26
>>527
お前をどうにかしてほしいが、python スレの住人に頼んでも困るだろうからやめとく。

530 :デフォルトの名無しさん:2008/09/17(水) 20:32:54
>>529
とりあえずPythonスレ覗いてみ、オレなんてカワイイもんだから

531 :デフォルトの名無しさん:2008/09/17(水) 20:33:54
>>527
このスレで君がそれを書いたことでその人も報われたことでしょう

532 :デフォルトの名無しさん:2008/09/17(水) 20:46:48
∧_∧
( ´・ω・) なんかここ居心地いいな
( つ旦O
と_)_)

533 :デフォルトの名無しさん:2008/09/17(水) 20:49:15
Rubyの普及にはRubyたんなる萌えキャラが必要だな

534 :デフォルトの名無しさん:2008/09/17(水) 21:06:03
>>530
そういう話じゃなくて、Python スレの住人はお前さんをどうこう出来ないだろ? って話だ。
なんでここの住人に、その「Ruby坊」をどうこう出来るって思うのさ。

535 :デフォルトの名無しさん:2008/09/17(水) 21:22:44
>>534
そのぐらいわかってるよ
なんかこっちのスレの方が楽しそうだったのさ



536 :デフォルトの名無しさん:2008/09/17(水) 23:09:24
http://pggirls.asukaze.net/index.php?plugin=attach&openfile=1075565391.jpg&refer=%B2%E8%C1%FC%2FRuby%A4%BF%A4%F3

537 :デフォルトの名無しさん:2008/09/17(水) 23:24:49
なんていうか、Enjoy Programmingをスローガンの一つにしてるぐらいなんだから
もうちょっと陽気でも良いと思うんだ

538 :デフォルトの名無しさん:2008/09/18(木) 00:10:22
>>533
若いもんは知るまいが、昔Rubyちゃんっていうのがあってのー。

http://www.clio.ne.jp/home/web-i31s/Flotuard/Ruby/ruby-chan-s.html


539 :デフォルトの名無しさん:2008/09/18(木) 00:10:30
地中海か南米へGO


540 :デフォルトの名無しさん:2008/09/18(木) 08:10:45
http://pggirls.asukaze.net/index.php?%B2%E8%C1%FC%2FRuby%A4%BF%A4%F3

既に公開されてるRubyの擬人化キャラクター、かわいいとは思うんだけど
今ひとつRubyっぽさを感じないように思う
Operaたんのように、もっと強烈にRubyの個性をアピールしてほしい

541 :デフォルトの名無しさん:2008/09/18(木) 11:08:48
OSたん(「〜たん」ネーミング)ブーム以前のキャラのまとめ、ってどこかに
ないかのう。マジとことかえここが最古か?

542 :デフォルトの名無しさん:2008/09/18(木) 11:42:01
やっぱ水島上等兵をベースにすべきだろ

543 :デフォルトの名無しさん:2008/09/18(木) 12:40:56
>>540
やっぱRubyたんは
世界中の高貴とされる衣装の中から「自分の好きなパーツ」をパクりまくった独自の衣装を着て、
他のすべてのキャラを上から目線で見下す勘違い女じゃないとな。

544 :デフォルトの名無しさん:2008/09/18(木) 12:54:13
イカれたグリグリ目のヤンデレだろ。なんせカルトだもの

545 :デフォルトの名無しさん:2008/09/18(木) 13:03:31
死んだ魚の目
口元だけ不気味に笑っている
絢爛豪華な調度品に囲まれ
常に上から目線

546 :デフォルトの名無しさん:2008/09/18(木) 13:28:07
やべ、「るびまの竪琴」というフレーズが今脳内ブームに

547 :デフォルトの名無しさん:2008/09/18(木) 13:37:17
ttp://www.houseki.jp/ruby/ruby.html
> しかも、最高級産地のミャンマーは常に紛争の危機にさらされ供給が不安定なため、
> 最高級のルビーはどんどん値上がってしまい、今日の破格につながっています。

548 :デフォルトの名無しさん:2008/09/18(木) 14:06:14
Rubyの個性ってどんな点なのか、真面目に考えた

・赤い宝石
・オブジェクト指向
・動的なインタープリタ言語。柔軟すぎるぐらい柔軟
・他の言語を(基本的には)尊敬している
・他の言語の気に入ったところを積極的に取り入れる
・遅い遅いとバカにされる
・親切で分かりやすいドキュメント? なにそれ?
・今はRailsのおかげで知名度が右上がり

・・・擬人化のイメージが湧かないな

549 :デフォルトの名無しさん:2008/09/18(木) 14:40:52
「まつもと ゆきひろ」が平仮名なのはルビの大きさで印字するためなんですよ、うふふ

550 :デフォルトの名無しさん:2008/09/18(木) 14:44:17
・和製だが、和風というよりハイカラ

551 :デフォルトの名無しさん:2008/09/18(木) 14:44:55
でもRailsの糞さが浮き彫りになってきたじゃん。
twitterがRailsやめるとかやめないとか

552 :デフォルトの名無しさん:2008/09/18(木) 15:28:23
Railsの糞さを擁護するつもりは全然ないが、パフォーマンスボトルネックを
徐々に置き換えていくことができるということを実証した点で、twitterの
やってることはRubyでのWebサービス提供の非常にいい運用例になってる。

553 :デフォルトの名無しさん:2008/09/18(木) 15:33:50
>>551はRailsを勘違いしている
または業務未経験

554 :デフォルトの名無しさん:2008/09/18(木) 15:37:49
>>552
Rails並の中級フレームワークで、部分的置き換えが容易なものってそう多くないよね

555 :デフォルトの名無しさん:2008/09/18(木) 17:12:54
>>548
そこまで挙げてイメージ湧かないとな?俺は余裕で勃起したが。

・赤い宝石 ∴ 目が赤くて髪は白。神秘系のロリ
・動的なインタープリタ言語。柔軟すぎるぐらい柔軟
∴ 体がやぁらかい。体操が得意。常にブルマを着用
・他の言語を(基本的には)尊敬している ∴ 従順で頑張り屋
・親切で分かりやすいドキュメント? なにそれ?
∴ ツンデレ
・今はRailsのおかげで知名度が右上がり
∴ Railsたんに校内ミスコンに無理やり出場させられ、優勝。一躍校内のアイドルに

556 :デフォルトの名無しさん:2008/09/18(木) 17:35:50
> 一躍校内のアイドルに

んで、使ってみてがっかりするんですね。わかります。

557 :デフォルトの名無しさん:2008/09/18(木) 17:48:00
ゆるゆるオマンコのrubyたん

558 :デフォルトの名無しさん:2008/09/18(木) 18:43:28
質問です

皆さんがrubyプログラミングするとき使っているエディタは何ですか?

559 :デフォルトの名無しさん:2008/09/18(木) 19:06:38
vim

560 :デフォルトの名無しさん:2008/09/18(木) 19:08:40
お勧めが知りたいならOSくらい書けと

561 :デフォルトの名無しさん:2008/09/18(木) 19:16:59
アナタが使っている環境を聞きたいだけです。
OS不問

562 :デフォルトの名無しさん:2008/09/18(木) 19:25:10
Windows:メモ帳、サクラエディタ、Xyzzy
Linux:nano、leafpad、gedit、kate、emacs
MacOSX:nano、(KDEとは関係ないほうの)KEdit

563 :デフォルトの名無しさん:2008/09/18(木) 19:32:51
Windows

ちっちゃいのならRDE、Meadow(使い分けは気まぐれ)
ある程度以上大きくなるとNetBeans

564 :デフォルトの名無しさん:2008/09/18(木) 21:02:22
Mac: vim, TextMate あー無難杉

565 :デフォルトの名無しさん:2008/09/18(木) 21:07:04
Windows : EmEditorはここでも異端ですか

566 :デフォルトの名無しさん:2008/09/18(木) 21:11:11
notepad++

567 :デフォルトの名無しさん:2008/09/19(金) 00:29:18
>>555
キャラ付けに節操無さすぎるだろw

568 :デフォルトの名無しさん:2008/09/19(金) 00:34:16
Ruby では小さいのしか書いてないから vi か emacs で基本書き捨てだな。


569 :デフォルトの名無しさん:2008/09/20(土) 03:05:28
あれ、なんかきのうの書き込みが見当たらない

570 :デフォルトの名無しさん:2008/09/20(土) 17:25:56
と、このようにRubyを使うと健忘症もひどくなります。

571 :デフォルトの名無しさん:2008/09/20(土) 17:30:44
>>569
俺も。
鯖で何か起きてるのか?

572 :デフォルトの名無しさん:2008/09/20(土) 21:18:26
本スレに投げてみよう


str = "hoge"
って「strに"hoge"を代入する」でいい?
Rubyでの = は代入ではないよね?

573 :デフォルトの名無しさん:2008/09/20(土) 21:21:36
マニュアルで代入って言ってるんだから代入って言葉使っとけ

574 :デフォルトの名無しさん:2008/09/20(土) 21:34:04
リファレンスで代入って単語が使われている
ttp://doc.loveruby.net/refm/api/view/spec/operator
Ruby的にも、いわゆる代入は代入で問題ないと思う

575 :デフォルトの名無しさん:2008/09/20(土) 21:40:30
ただのラベルづけだという内部動作を理解した上でなら、代入と呼んでいいと思う
「代入ってあの代入だろ?」と他の言語の知識を持ち込んでしまう原因になるのだけは避けたいところ

576 :デフォルトの名無しさん:2008/09/21(日) 09:35:28
>>575
> 「代入ってあの代入だろ?」と他の言語の知識を持ち込んでしまう原因になるのだけは避けたいところ

具体的にどの言語の代入のどういう知識を持ち込んでしまうと困るのかkwsk


577 :デフォルトの名無しさん:2008/09/21(日) 09:56:55
Javaとかでいうオブジェクトのコピーのことでは?

578 :デフォルトの名無しさん:2008/09/21(日) 09:58:59
Javaの代入ではコピーは起きませんが?

579 :デフォルトの名無しさん:2008/09/21(日) 11:29:01
>577
それを言うならC++な
Javaは基本型(数値など)は即値、オブジェクトは参照だから
Rubyとは割と似てる方ではないかと

C++の場合
変数がオブジェクトへの参照でなく、オブジェクトそのものを保持でき
代入は基本的にコピーだから、その場合に実体がコピーされる
参照コピーなら明示的に参照を得ることになる

580 :デフォルトの名無しさん:2008/09/21(日) 13:08:20
>>579
C++ と Java 使ってて初めその差でちょっと混乱した

581 :デフォルトの名無しさん:2008/09/21(日) 17:52:18
[C#, Delphi] いい加減 C# 信者がうざい件
http://tobysoft.net/diary/archives/2008/09/believers_of_c-sharp_are_uzai.html
---
C# 信者の特徴
 Hejlsberg は神であり神による実装である C# こそが唯一絶対の言語である
 他の言語(特に DelphiとJava)は存在自体が悪である
 他の言語を使っているのは C# を知らないからである
 C# を布教することでそのような不幸な子羊たちを救済することこそが正義である
どこかの世界宗教のようですね。


582 :デフォルトの名無しさん:2008/09/21(日) 18:26:37
P(ryの事ですね、分かります

583 :デフォルトの名無しさん:2008/09/21(日) 18:28:57
>>581
なんでこんな短い文章を最後まで読めないの?バカなの?

584 :デフォルトの名無しさん:2008/09/21(日) 19:24:20
>>581
過激な特徴をタイプしながら一人で興奮してるのはわかるけど、
こんな特徴を挙げちゃったら、殆どの人間を「C#信者」扱いできなくなると思うんだが。
(だって、流石にここまでの奴はまずいないものな)

> 関数名にCamelCaseが来るという時点でまず C# 使わない人間から見ると異常。
こいつが変な宗教持ってるんじゃね?

585 :デフォルトの名無しさん:2008/09/21(日) 19:27:44
ttp://d.hatena.ne.jp/k-z-h/20080920/
まずこちらをどうぞ

586 :デフォルトの名無しさん:2008/09/21(日) 19:39:11
lowerCamelCaseはHaskellやOCamlでよく見る

587 :デフォルトの名無しさん:2008/09/21(日) 19:44:00
どうしてCamelCaseなのにPerlやOCamlで見ないのは何故なんだぜ


588 :デフォルトの名無しさん:2008/09/21(日) 19:48:26
DelphiもHejlsbergが作った言語じゃなかったっけか

589 :デフォルトの名無しさん:2008/09/22(月) 01:31:20
require 'ripper'
p Ripper.lex("puts __ENCODING__")

>[Ripper FATAL] unknown token 306 (RuntimeError)

なんでだろか

ruby 1.9.0 (2008-08-26 revision 18849) [i686-linux]

590 :デフォルトの名無しさん:2008/09/22(月) 02:43:50
ripperがrubyの変更に追いついてないとか?

591 :デフォルトの名無しさん:2008/09/23(火) 00:51:38
TempとTmpは、どっちかに統一せいやと前から思ってました

592 :デフォルトの名無しさん:2008/09/23(火) 03:50:28
某所で必死になってたが誰か応募してやれw
https://www.find-job.net/fj/showjob.cgi?id=70178&from=1



593 :デフォルトの名無しさん:2008/09/23(火) 07:49:19
>>584
> >>581
> > 関数名にCamelCaseが来るという時点でまず C# 使わない人間から見ると異常。

気持ちはわかる。好みの問題だが。MSってCamelCaseが好きな印象がある。

594 :デフォルトの名無しさん:2008/09/24(水) 05:52:11
delete!
的な表記をあえてCでやると何になる?
deleteThis
deleteSelf
deleteMe
...
なんかRubyがらみのCのソース書くときの決まりみたいのはあったりするのかな。

595 :デフォルトの名無しさん:2008/09/24(水) 06:09:47
delete_bang(obj)
みたいな感じ?
よくわからんけど,拡張なら慣習たくさんありそう

596 :デフォルトの名無しさん:2008/09/24(水) 09:21:35
// from gmp
prefix_clear(obj);
prefixにはobjの型とかその辺

597 :デフォルトの名無しさん:2008/09/24(水) 11:58:32
>>594
CはOOPLではない。パラダイムが違う機構を持ち込んでも混乱のもと。
おとなしく
int type_delete(T *obj)
にしておけ。

598 :デフォルトの名無しさん:2008/09/24(水) 20:11:49
>>594
真面目に書けば
delete_destructively
かなw

delete_アーッ

599 :デフォルトの名無しさん:2008/09/24(水) 20:14:50
アッー間違えた

600 :デフォルトの名無しさん:2008/09/24(水) 21:02:37
>>519
snapshotに parse.h と revision.hを入れて欲しいです
せめて revision.h だけは入れて〜

parse.c を消せば parse.y から parse.[ch]は生成されるので
とは、いってもmakeでエラー出て止まるのもなんなので
parse.h が無いときも parse.c ごと生成しなおすルールになってるべきだとは思いますが


601 :デフォルトの名無しさん:2008/09/24(水) 21:36:23
>>600 希望はここに書いたところでどうにもならないぞ

602 :デフォルトの名無しさん:2008/09/25(木) 06:33:33
591は給与がやすすぐる

603 :デフォルトの名無しさん:2008/09/25(木) 08:52:30
>>602
バカだなあ、給料が一回り安くても好きなことしたい・新しいことしたいって層にアピールしてるに決まってるだろ

604 :デフォルトの名無しさん:2008/09/25(木) 09:42:06
全然安く思えんのですが、それは俺が田舎在住だからでしょうか

605 :デフォルトの名無しさん:2008/09/25(木) 10:03:23
東京って初任給25万でも安いのか
田舎の人間には分からない世界だ

606 :デフォルトの名無しさん:2008/09/25(木) 10:14:57
なんでお前ら591の給料を知ってるんだ

607 :デフォルトの名無しさん:2008/09/25(木) 10:18:03
Guy Decouxさんのご冥福をお祈りします。
Matzにっき(9/5)で言及されたときにはもうお亡くなりになってたんだね。

608 :デフォルトの名無しさん:2008/09/25(木) 10:54:07
>>605
額面で十の位が2とかありえない

609 :デフォルトの名無しさん:2008/09/25(木) 11:30:21
20代で30万…ゴクリ
そら「とうきょうさ行くだ 」ってなるわ

610 :デフォルトの名無しさん:2008/09/25(木) 12:06:35
普通に住むだけで10万近く減るけどな
まあどっちもどっちって感じだ

611 :デフォルトの名無しさん:2008/09/25(木) 12:23:23
東京での派遣の仕事が田舎県のハロワで大量にあるけど、
あれって田舎の基準では高給なんだよね
住むとこのこと考えたら給料に見合わないと思うんだけどなあ
あれはある意味騙しに近い

612 :デフォルトの名無しさん:2008/09/25(木) 19:47:03
> chm版(1.8.7/1.9.0):
http://www.ruby-lang.org/ja/man/archive/ruby-refm-1.8.7-20080829.chm
> (予定)
http://www.ruby-lang.org/ja/man/archive/ruby-refm-1.9.0-20080829.chm
> (予定)
これずっと誰も用意しないんだな

613 :デフォルトの名無しさん:2008/09/25(木) 19:52:15
>>612
1.8.6と1.9.0ならここに
http://doc.loveruby.net/wiki/ReleasedProducts.html

614 :デフォルトの名無しさん:2008/09/25(木) 20:07:08
まあ、オフィシャルと言えるほどのはできてねってことだな

615 :デフォルトの名無しさん:2008/09/25(木) 21:55:18
`gsub!': broken Windows-31J string (ArgumentError)
とか出されても何をどうしていいのかまったくわかりません

616 :デフォルトの名無しさん:2008/09/25(木) 21:58:58
>>615 1.8 使っとけ

617 :デフォルトの名無しさん:2008/09/25(木) 22:10:35
force_encodingしまくる作業に・・・

618 :デフォルトの名無しさん:2008/09/25(木) 23:04:38
>>615
Encoding についてきちんと学べ
>>617 みたいなのは to_s しまくってるスクリプトがアホっぽいのと同じ

619 :デフォルトの名無しさん:2008/09/25(木) 23:14:59
gsubだから正規表現がからんできて面倒だよ。普通の人には

620 :デフォルトの名無しさん:2008/09/26(金) 06:58:18
ripperなんだけど

require 'ripper'
require 'pp'
pp Ripper.lex(<<EOS)
def my_while(cond, &body)
  while cond.call
    body.call
  end
end
a = 0
my_while -> { a < 5 }  do
  puts a
  a += 1
end
EOS

これが、[[7, 20], :on_rbrace, "}"]] で終わっちゃう
ruby 1.9.0 (2008-08-26 revision 18849) [i386-mswin32]
ビルド環境がないので、最新で直ってるのかは知らない

621 :デフォルトの名無しさん:2008/09/26(金) 10:37:36
->って何

622 :デフォルトの名無しさん:2008/09/26(金) 11:53:54
->使うような人には自力で直してパッチを投げて欲しい。

623 :デフォルトの名無しさん:2008/09/26(金) 11:54:29
>>620
おーおれもなるなと書こうと思ったらリビジョンそれより低かった
意味ねー

624 :デフォルトの名無しさん:2008/09/26(金) 12:06:29
こんな情報しか見つけられなかった
ttp://www.ruby-lang.org/ja/man/html/ruby_1_9_feature.html
> 2006-06-10
:
> 実験中だった meth -> { ... } という -> が除去されました (lambda のかわりの -> { ... } は残っています)

625 :デフォルトの名無しさん:2008/09/26(金) 12:11:35
gsub・scanのブロックパラメータをMatchDataにするやつは、新しい名前付けて入れちゃえばいいのに

626 :デフォルトの名無しさん:2008/09/26(金) 12:25:03
subm gsubm scanm
subx gsubx scanx
sub2 gsub2 scan2

627 :デフォルトの名無しさん:2008/09/26(金) 13:47:23
putsfっていつになったら実装されるの?

628 :202-127-187-186.users.bc9.ne.jp :2008/09/27(土) 05:53:37
いつになったらも何も、初耳ですが。

629 :デフォルトの名無しさん:2008/09/27(土) 15:37:17
つーか、どういうモノ?


630 :デフォルトの名無しさん:2008/09/27(土) 15:42:14
そりゃ名前からして、 printf のフォーマットの最後の \n を省略できるんだろう
期待大だなw

631 :デフォルトの名無しさん:2008/09/27(土) 15:51:24
def putsf(fmt, *args)
puts fmt % args
end
みたいな?


632 :デフォルトの名無しさん:2008/09/27(土) 16:45:34
>>627 良かったじゃん、長年待ってたっぽいけど、
26時間ほどで実装されたぞ。

633 :デフォルトの名無しさん:2008/09/27(土) 16:49:17
大儀である!

634 :デフォルトの名無しさん:2008/09/27(土) 19:18:50
結局>>627はネタだったのかな
それとも、本当にputsfっていうのあったの?

635 :デフォルトの名無しさん:2008/09/27(土) 19:43:42
普通のセンスならあって当然の関数ではある

636 :デフォルトの名無しさん:2008/09/27(土) 19:58:33
>>635
結局は>>630でしかないじゃん。まあ、それを言ったらputsもそうか。
でも、>>631(の中身だけ)でいいじゃん
String#% は知らなかったから為にはなったけど、普通のセンスってのもどうかと

637 :デフォルトの名無しさん:2008/09/27(土) 20:07:35
普通のセンス
http://msdn.microsoft.com/ja-jp/library/system.console.write(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.console.writeline(VS.80).aspx

638 :デフォルトの名無しさん:2008/09/27(土) 20:15:54
普通のセンス = 出力メソッドには常に改行付きも準備しろ、ですか。
うーん。ばかげてるような気はするが、putsがあってしかも便利だと
いう点で否めないような気もしてきたw

639 :デフォルトの名無しさん:2008/09/27(土) 20:21:15
有れば便利かも知れんが,
printfのフォーマット文字列にリテラル以外を書くのはあまりよろしくないし,
別に\nくらい自分で書けば済むよなあと

640 :デフォルトの名無しさん:2008/09/27(土) 20:26:09
Cに無いからって理由で実装されないだろうな

641 :デフォルトの名無しさん:2008/09/27(土) 21:05:02
RubyのString#%はPythonの演算子に倣ったものだが、
実は単に sprintf の別名だったりするな。



642 :デフォルトの名無しさん:2008/09/27(土) 21:07:30
>>639
どっちなんだw

643 :デフォルトの名無しさん:2008/09/27(土) 22:27:11
puts にはArrayの要素を改行区切りで出力するって役目があるが
書式付けるとホントに\n省略だけの役目だよなあw

個人的には self.method(:メソッド名) とか
map{|x|x.メソッド}の略記法が欲しいかな

644 :デフォルトの名無しさん:2008/09/27(土) 22:35:46
(1..10).map(&:to_s)

645 :デフォルトの名無しさん:2008/09/27(土) 22:55:28
>>643
その辺もputsのやっかいな所なんじゃないの?
ってかちょっと前にもそう言うレスを見たような
単純に to_s して "\n" つけて出すだけじゃないっていう

だから、>>627に戻ると putsf にはどういう動作を期待してるんだろう?

646 :デフォルトの名無しさん:2008/09/27(土) 23:02:16
しょうもない話にはよく食い付くな

647 :デフォルトの名無しさん:2008/09/27(土) 23:03:50
2chのスレに何を期待してるんだ

648 :デフォルトの名無しさん:2008/09/27(土) 23:07:49
互換性軽視のわりに小汚い因習を引きずってるのがなんだかね。
初心に立ち返ってドびっくり最小限の法則に基づいて文法およびライブラリを整理してもらいたい。

649 :デフォルトの名無しさん:2008/09/27(土) 23:12:28
>>648
それはver2.1とかになるの?
Ruby 3.0とかで再来年のクリスマスとかそう言う話かなぁ

650 :デフォルトの名無しさん:2008/09/27(土) 23:20:32
Ruby2が来年とかヤメテ
しばらくRuby1.9.xを充実させてくれればいいよ

>>648
因習がないのが嫌なら自分で言語をたちあげればいいんじゃね

651 :デフォルトの名無しさん:2008/09/27(土) 23:31:04
"".split(/x/)
これが[""]を返すようになって欲しい

652 :デフォルトの名無しさん:2008/09/28(日) 01:30:48
ruby厨ってすぐ「嫌なら自分で言語作ればいいんじゃない?」って言うよね
教祖の教えそのままで面白い

653 :デフォルトの名無しさん:2008/09/28(日) 01:40:00
いやいや、自分で勝手に組み込みクラスすら拡張できる言語なのにもかかわらず
「○○が欲しい」って言われたら自分で言語作ってねと言うしかあんめえ

654 :デフォルトの名無しさん:2008/09/28(日) 01:50:19
妹「今日の夕飯なにがイイ〜?」
俺「ドリアー」
妹「じゃあ作って」
俺「……はい」

(´・ω・`)

655 :デフォルトの名無しさん:2008/09/28(日) 02:57:38
俺「今日の夕飯なにがイイ〜?」
俺「ドリアー」
俺「じゃあ作って」
俺「……はい」

(´・ω・`)

656 :202-127-187-186.users.bc9.ne.jp デフォルトの名無しさん:2008/09/28(日) 05:15:03
>>643
> 個人的には self.method(:メソッド名) とか
http://www.rubyist.net/~matz/20070806.html#p01
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/31448
みたいな?

657 :デフォルトの名無しさん:2008/09/28(日) 12:20:47
http://groovy.codehaus.org/Operators
> parent*.action //equivalent to:
> parent.collect{ child -> child?.action }
どーかねえ

こんなのもあるけど、あんまり…
http://pnuts.org/doc.ja/lang.html#generator
> ジェネレータに対するインスタンス・フィールドへのREADアクセスは、生成される各要素に対してインスタンス・フィールドを参照した結果をそれぞれ生成するジェネレータを返します。

658 :デフォルトの名無しさん:2008/09/29(月) 14:09:26
Matzさん、楽天の糞システムから個人情報が流出してるようです

659 :デフォルトの名無しさん:2008/09/29(月) 14:39:23
>>658 マジならこんなところにそういうこと書くなクソ野郎

660 :デフォルトの名無しさん:2008/09/29(月) 14:53:04
楽天ヤバイ ★2
http://namidame.2ch.net/test/read.cgi/news/1222665001/

661 :デフォルトの名無しさん:2008/09/29(月) 19:39:44
楽天ってrubyなの?

662 :デフォルトの名無しさん:2008/09/29(月) 23:02:04
perlだよ

663 :デフォルトの名無しさん:2008/09/29(月) 23:14:12
Matzは楽天技術研究所のフェローでしょ

664 :デフォルトの名無しさん:2008/09/29(月) 23:31:20
>>663
フェローってなんだか知ってるか?


665 :デフォルトの名無しさん:2008/09/29(月) 23:45:52
ふぇろーって何なの?
語感からすると、顧問よりもアドバイザーよりもさらに薄い感じ?
辞書では特別研究員とか名誉会員っぽいこと書いてるけど、Matzのは
実体としては協賛・協力程度のニュアンスかな、とも思う

名義貸し、とまで言うと言い過ぎなんだろうけど

666 :デフォルトの名無しさん:2008/09/30(火) 00:07:48
fellow なんてピンキリ。薄いのもあるし、IBM fellow みたいに
権威あるものもある。その言葉だけで判断できるものではない。

667 :デフォルトの名無しさん:2008/09/30(火) 00:10:33
フェローはすっごい適当な役職名でなあ
とりあえず何フェローなのかくらいソースに当たろうぜ
ttp://www.rakuten.co.jp/info/release/2007/0531.html
> まつもと氏にRubyやオープンソースソフトウェアの活用に関する助言・指導をいただきます。
> 楽天技術研究所において楽天の大規模サービス開発の経験および環境を活かした共同での技術研究を実施してまいります。
というわけで、技術助言職および共同研究員ってとこかね
動いてるプログラムに対する責任はたぶん言うほど無いな

668 :デフォルトの名無しさん:2008/09/30(火) 02:33:52
http://www.rubyist.net/~matz/20080628.html#p01
> Rubyが遅くても、結局はボトルネックは別のところ(ネットワークかデータベース)にあるという仮説を裏づける内容。実際、楽天とかでも問題なく動いてるしな。

ということで、楽天内のRoRアプリぐらいは見てるんじゃないのかな。

ただ、楽天は昔から情報流出しまくってるから別にこれぐらいで傾いたりはせんと思うが

669 :デフォルトの名無しさん:2008/09/30(火) 05:27:42
もちろん楽天のセキュリティに対して全責任を負っているわけではないが、
セキュリティホールを産んでしまうような言語仕様にしてしまった責任は免れないと思うよ。

670 :デフォルトの名無しさん:2008/09/30(火) 07:51:07
言語仕様と言うより担当者のミスだろ、単に

671 :デフォルトの名無しさん:2008/09/30(火) 09:50:03
>>669
> セキュリティホールを産んでしまうような言語仕様にしてしまった責任は免れないと思うよ。

セキュリティーホールを生まない言語仕様になってる言語の具体例を教えて下さい

672 :デフォルトの名無しさん:2008/09/30(火) 11:28:48
「ような」とか「みたいな」に歪んだ夢を一杯詰め込んで、それをガソリン代わりに
根拠・論拠の世界を一気に突き抜けてお花畑に到達するのがアホの慣わし。

673 :デフォルトの名無しさん:2008/09/30(火) 13:25:37
セキュリティホールを出すような言語設計をしたのが開発者の責任なら、
今頃びよーねすっぽすっぽ先生は終身刑だろw

674 :デフォルトの名無しさん:2008/09/30(火) 13:36:00
プログラムは全てTeXで書かれるようになるな

675 :デフォルトの名無しさん:2008/09/30(火) 19:29:44
Matzいわく
「現状だとまあ無いよりマシな程度」
「今のところ、もっとうまいセキュリティモデルのアイディアは無い」
「ネタがあるなら前向きに検討してみたい」

676 :デフォルトの名無しさん:2008/09/30(火) 19:36:34
LL Futureでもいろいろ言われてたね
ただ、セキュリティは利便性とかパフォとかとのトレードオフだから
なかなか難しい。セキュリティ専用言語ならともかく、汎用のもので言語設計者が
出来ることって今のところあんまりないんじゃないかな。


677 :デフォルトの名無しさん:2008/09/30(火) 21:52:19
言語設計よりむしろフレームワークとか実用の段階で対処すべき問題だと思うけど

678 :デフォルトの名無しさん:2008/09/30(火) 21:57:20
質問質問。
Windows版Ruby、ActiveScriptRubyなんかを使うと、起動だけがバカみたいに遅いんだけど、対処法はある?

679 :デフォルトの名無しさん:2008/09/30(火) 22:19:03
@echo off
echo %time%
ruby -e "require 'mechanize'; puts 'hello!'"
echo %time%
echo %PROCESSOR_IDENTIFIER%

実行

22:18:14.18
hello!
22:18:19.34
x86 Family 6 Model 8 Stepping 6, GenuineIntel

これは遅いって。

680 :デフォルトの名無しさん:2008/09/30(火) 22:26:29
coLinuxあるいはGNU/Linuxを使う。
Windowsはプロセスの実行が遅くてスレッドの実行が速い。
GNU/Linuxはその逆。

cygwin上で./configureを実行するとあまりの遅さに老衰死するぞ

681 :デフォルトの名無しさん:2008/09/30(火) 22:31:37
ちなみにDebian

$ time ruby -e "require 'rubygems'; require 'mechanize'; puts 'hello!'"
hello!

real 0m1.573s
user 0m1.340s
sys 0m0.230s
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 400.925


682 :デフォルトの名無しさん:2008/09/30(火) 22:33:19
>>679
PentiumIIIで起動に5秒か

ゴミだな

683 :デフォルトの名無しさん:2008/09/30(火) 23:32:06
今までWindowsで使っていて起動にそんなかかった事が無い。
ruby -e "puts 'hello'" 程度ならまさに一瞬で起動して終わる。
特定の環境の問題ではなかろうか。


684 :デフォルトの名無しさん:2008/09/30(火) 23:41:45
>>683
なんでわざわざほぼ最小構成を持ち出すの?

685 :デフォルトの名無しさん:2008/09/30(火) 23:50:21
より正確に言うと require みたいなライブラリ読み込みが激烈に遅いんだよな、これ

>>683
ttp://q.hatena.ne.jp/1174107118
とか
ttp://emaame.com/20070120.html
とか


686 :デフォルトの名無しさん:2008/09/30(火) 23:54:47
railsをバリバリ使ったものを-rdebugで実行とかやったら楽しそうだな

687 :デフォルトの名無しさん:2008/10/01(水) 01:36:36
>>684
むしろ、なんで起動時間の確認に余分なライブラリを
requireする時間まで持ち出すのかわからん。そこは既に起動後の話だし。
で、rubygemsをrequireすれば、それだけでそれなりに時間がかかのは事実だけど、
それでもソコまでかかった事は一度も無いなぁ。

688 :デフォルトの名無しさん:2008/10/01(水) 03:11:02
>>677
そのくせ、rubyで書けばセキュアです、っていうふいんき出してるよねw

689 :デフォルトの名無しさん:2008/10/01(水) 08:18:31
>>688
kwsk


690 :デフォルトの名無しさん:2008/10/01(水) 08:26:32
Rubyって日本とアメリカ以外で使われてるの?

691 :デフォルトの名無しさん:2008/10/01(水) 08:38:21
http://ruby.meetup.com/
http://python.meetup.com/
http://php.meetup.com/
http://perl.meetup.com/
http://java.meetup.com/

692 :デフォルトの名無しさん:2008/10/01(水) 11:38:15
>>683
> ruby -e "puts 'hello'" 程度ならまさに一瞬で起動して終わる。
ほい
rubygem を require したのは時間かかるのをわかりやすくしただけ

11:35:25.96
hello!
11:35:26.96
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
x86 Family 6 Model 8 Stepping 6, GenuineIntel

ちなみに ruby -v は本当に一瞬

@echo off
echo %time%
ruby -e "puts 'hello!'"
echo %time%
ruby -v
echo %PROCESSOR_IDENTIFIER%

なんだろね

693 :デフォルトの名無しさん:2008/10/01(水) 11:50:20
rubygemsだけなら一瞬だったから、dllの配置とかそういう問題かもしれない

694 :デフォルトの名無しさん:2008/10/01(水) 14:32:22
>>692
手元の環境だとこんな感じだった。
ちなみに、ASRのruby console上でバッチファイルを起動したよ。
環境やRuby(ASR)のバージョンの問題なのかな。

14:28:29.95
hello!
14:28:29.98
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]
14:28:30.00
x86 Family 6 Model 15 Stepping 6, GenuineIntel


695 :デフォルトの名無しさん:2008/10/01(水) 17:00:18
これのRuby版を作ればすべて解決ってことか
http://slashdot.jp/security/article.pl?sid=08/09/30/0817247

696 :デフォルトの名無しさん:2008/10/01(水) 21:03:16
相変わらずスラッシュドットって寒気がするほどキモイな。

697 :デフォルトの名無しさん:2008/10/01(水) 21:08:15
オワタLinux

698 :デフォルトの名無しさん:2008/10/01(水) 22:45:42
++と--はいつ実装されるの?ActiveSupport導入したらいける?

699 :デフォルトの名無しさん:2008/10/01(水) 23:00:23
>>698
そもそも難しいと思う
というか、インクリメントなんてRubyでそんな頻繁に使うか?
年に数回とかそういうイベント的なもんじゃね?

700 :デフォルトの名無しさん:2008/10/01(水) 23:15:48
別に += 1 で何も困らんしなあ
破壊的なら succ! 実装すりゃ良いし
むしろ += すら必須じゃないんだぜ?(便利ではあるけど)

701 :デフォルトの名無しさん:2008/10/01(水) 23:16:18
前置ならだいぶ昔から実装されてるぜ。

702 :デフォルトの名無しさん:2008/10/02(木) 04:31:08
>>698
--ならすぐ実装してやるぞ。

Index: parse.y
===================================================================
--- parse.y (revision 19655)
+++ parse.y (working copy)
@@ -6344,4 +6344,5 @@ parser_yylex(struct parser_params *parse
 
       case '#': /* it's a comment */
+      comment:
  /* no magic_comment in shebang line */
  if (parser->line_count == (parser->has_shebang ? 2 : 1)
@@ -6768,4 +6769,5 @@ parser_yylex(struct parser_params *parse
       case '-':
  c = nextc();
+ if (c == '-') goto comment;
  if (lex_state == EXPR_FNAME || lex_state == EXPR_DOT) {
      lex_state = EXPR_ARG;


703 :デフォルトの名無しさん:2008/10/02(木) 05:40:10
おまいらときたらネタばっかり

704 :デフォルトの名無しさん:2008/10/02(木) 05:46:27
マジレスすると ++ がないことの害悪は
++ が使えないこと自体ではなく ++ が使えないというごくまっとうなクレームが
何度も何度も発生することである。どう考えてもインターネッツリソースの無駄なので
早々に実装して不毛なループを根絶してもらいたい。

705 :デフォルトの名無しさん:2008/10/02(木) 06:10:12
変数を特殊なメソッドしか持たない特殊なオブジェクトとして抽象化するとか

706 :デフォルトの名無しさん:2008/10/02(木) 07:23:02
>704
でも ++ どころか += が無い言語なんてザラにあるのだが。
むしろ1インクリメントする演算子があるのってC系だけじゃね?

707 :デフォルトの名無しさん:2008/10/02(木) 08:25:49
C系しか知らない香具師がそれがあたりまえだと思って喚いてるだけ

708 :デフォルトの名無しさん:2008/10/02(木) 08:29:11
+=1ができるから当然
++もできるはずという類推を裏切るから
みんなビックリしちゃうんだよ

709 :デフォルトの名無しさん:2008/10/02(木) 08:40:02
C なら for 文やらポインタ演算で頻繁に使うけど
Ruby なら each があるから普通にイラネ

> +=1ができるから当然
> ++もできるはずという類推を裏切るから
そんな類推しないだろう
+=1 が出来るなら *= も出来るだろう、とかならわかるが

710 :デフォルトの名無しさん:2008/10/02(木) 08:48:07
序数的なインターフェイスとして、Rubiniusなんかだったら実装できることなんだろうけど、
この手の問題のやっかいなのは、Matzを信仰してるrubyistが、Matzが言ったことに対して、
思考停止してしまっているという点にあると思う

711 :デフォルトの名無しさん:2008/10/02(木) 09:01:33
だから ++ 専用の記法として設定したくなるほどどこでそんなに使うんだよ

712 :デフォルトの名無しさん:2008/10/02(木) 09:06:01
使われまくりだな
http://www.google.co.jp/codesearch?hl=ja&lr=&q=file%3A%5C.rb+%5C%2B%5C%3D%5Cs*1&sbtn=%E6%A4%9C%E7%B4%A2

713 :デフォルトの名無しさん:2008/10/02(木) 09:08:08
a = 1
b = a
a++

これで b も 2 になるほうがいいと思うなら、自分でそういう俺Rubyをforkすれば?

714 :デフォルトの名無しさん:2008/10/02(木) 09:12:14
そういう見方しかできないからアホのままなんだよ

715 :デフォルトの名無しさん:2008/10/02(木) 09:17:18
>>714
オブジェクトとかどうでもいいから ++ を実装しろというほうがRubyではアホ

716 :デフォルトの名無しさん:2008/10/02(木) 09:18:36
仮にa++を入れるとしたら
a += 1の糖衣構文って形になるだろうな

でも=記号無しに「変数へのオブジェクトの代入」を行うのは、確かにわかりにくくて嫌だ

717 :デフォルトの名無しさん:2008/10/02(木) 09:19:10
Q. なんで+=があるのに++がねーの?

A. まっつんが常に一貫性のある行動を取るとは限らないからです。
今ないのと同様に、要不要にかかわらずある日突然気分次第で付くかもしれません。

718 :デフォルトの名無しさん:2008/10/02(木) 09:27:34
>>716
succ! を実装するという手もある
実行した時点で self 自体がオブジェクトごと変更される極悪メソッドになるが

あと Integer を整数コンテナにするとか
せっかく即値にしたのに意味ねーよとは思うけど、世界中のRubyスクリプトを遅くするだけの価値が ++ にはあるのだろう

719 :デフォルトの名無しさん:2008/10/02(木) 09:33:49
matz rubyでは、処理系までリフレクションが及ばないので、今の形なだけなのに、
++なんか存在するのがおかしいと思ってるのはどうかしてる

720 :デフォルトの名無しさん:2008/10/02(木) 10:32:33
どういうふうに「処理系までリフレクションが及ぶ」ようになれば、
どのようにして++を実装するんですか?

721 :デフォルトの名無しさん:2008/10/02(木) 10:59:07
変数を操作するだけじゃん
オブジェクトを操作することまでしか思考が及ばないのかね

722 :デフォルトの名無しさん:2008/10/02(木) 11:05:31
>>721
日本語でおk

723 :デフォルトの名無しさん:2008/10/02(木) 11:34:15
>>721
a++ とは書けても 1++ とは書けないの?
それってRubyとしては変だよね。
1++ と書けないのなら a++ とも書けないのは正常。
なら現状で問題ないじゃん。

724 :デフォルトの名無しさん:2008/10/02(木) 11:47:45
a++はともかく(1+=1と書けないけどa+=1と書けるわけだし)、
.succ!みたいなメソッド形式はさすがに破綻してるでしょ
っていうかネタだと思ったんだが

725 :デフォルトの名無しさん:2008/10/02(木) 12:00:01
変数オブジェクトだと思えば

726 :デフォルトの名無しさん:2008/10/02(木) 12:07:02
この視野の狭い奴らを、Matz Ruby世代と呼ぶ

727 :デフォルトの名無しさん:2008/10/02(木) 12:08:59
問題は導入できるかできないかではない。
いつ導入するかだ。

728 :デフォルトの名無しさん:2008/10/02(木) 12:16:16
>>721
Rubyに変数という物体はない
オブジェクトに名前がついてるだけだ
名前を付け替えたいなら代入しろ

729 :デフォルトの名無しさん:2008/10/02(木) 12:17:38
まさにMatz Ruby世代

730 :デフォルトの名無しさん:2008/10/02(木) 12:21:44
「現行のRubyでは今のところ変な実装になる意見しかないのでRuby作者を説得できてない」が正しい表現
++ 使いたい派はRubyらしい実装方法を提唱すること

731 :デフォルトの名無しさん:2008/10/02(木) 12:22:21
>Matz Ruby世代
「便利だから」と後先考えずに、新しい文法をやたらと導入したがる新世代よりマシです

732 :デフォルトの名無しさん:2008/10/02(木) 12:24:07
>>731
Rails世代って呼ぼうぜ

733 :デフォルトの名無しさん:2008/10/02(木) 12:25:20
文法どころじゃなくて処理系自体の話なんだが、まったく理解できてないみたいね

734 :デフォルトの名無しさん:2008/10/02(木) 12:59:50
Rubinius だったらできそうだという話を検索で見つけて、
ろくろく読みもせずに喜んでる厨がいると聞いて飛んできました。

735 :デフォルトの名無しさん:2008/10/02(木) 13:02:50
できるできないの話じゃなくて、やるやらないの話だと何度言えば

736 :デフォルトの名無しさん:2008/10/02(木) 13:06:25
++を実装しなかったら鳥取の県境を30cm島根方向にずらすぞ

737 :デフォルトの名無しさん:2008/10/02(木) 13:15:20
a += 1 が、 a = a + 1 なように、
a++ が、a = a.succ になるような感じ?

738 :デフォルトの名無しさん:2008/10/02(木) 13:25:48
++はともかく
Object#becomeはどうなったんだっけ

739 :デフォルトの名無しさん:2008/10/02(木) 14:45:49
わかった!
a=.succ

740 :デフォルトの名無しさん:2008/10/02(木) 15:54:09
a.++ならば作れる?

741 :デフォルトの名無しさん:2008/10/02(木) 16:00:45
プリプロセッサ通して
#define ++ +=1
すりゃいいだけだろ。頭使えよ。

742 :デフォルトの名無しさん:2008/10/02(木) 16:08:57
>>741
いちいちcpp呼び出して済む話ならこんな流れにならんと思う。

>>740
class Integer
define_method("++") do self + 1 end
end
1.send("++") #=> 2


743 :デフォルトの名無しさん:2008/10/02(木) 17:17:23
メソッド呼出しで代入を起こすのは無茶だとあれほど言ったのにおまいらときたら
でも1が全部2の意味になったら面白いねw

744 :デフォルトの名無しさん:2008/10/02(木) 18:25:47
a = a.succ方式なら何にも問題にならないけど

745 :デフォルトの名無しさん:2008/10/02(木) 18:25:53
>>742
ちょっと長いね。
こうはできないの?

a = 1
a.++
print a #=> 2

746 :デフォルトの名無しさん:2008/10/02(木) 18:35:25
a=a.+(x)はよくて、a=a.succがいけないのはなんでじゃろ

747 :デフォルトの名無しさん:2008/10/02(木) 18:57:03
>>744


748 :デフォルトの名無しさん:2008/10/02(木) 19:07:07
++がsucc!じゃなくて、succと代入ということ

749 :デフォルトの名無しさん:2008/10/02(木) 19:21:11
把握した

750 :134:2008/10/02(木) 19:37:06
C/C++のプログラムにrubyを埋め込むことは出来ませんか?参考になるサイトが
あれば教えて下さい><

751 :750:2008/10/02(木) 19:37:46
まちがった↑ 134ではないです。すみません

752 :デフォルトの名無しさん:2008/10/02(木) 19:50:06
ttp://eto.com/d/EmbededRuby.html

753 :デフォルトの名無しさん:2008/10/02(木) 20:50:22
>>752
ありがとうございます。
試してみたところ簡単なプログラムは動きました。
今、ヘッダファイル覗いてるんですがわくわくしてきましたw

754 :デフォルトの名無しさん:2008/10/02(木) 22:41:35
だから a += 1 の構文糖にすればいいと何度言ったら。
=がないのに代入してるのは気持ち悪いとかいうやつは
=がついてるのに代入でもない#[]=とかはどんな気持ちで見ているんだ。

755 :デフォルトの名無しさん:2008/10/02(木) 23:08:21
Countableモジュールでも作ってそれに#++と#--を実装すればいいよ
a += 1の糖衣構文?ワロタ

756 :デフォルトの名無しさん:2008/10/02(木) 23:52:54
そもそも a++ なんて醜い表記は捨てるべきだと思うんだ。C言語でも。

757 :デフォルトの名無しさん:2008/10/02(木) 23:57:53
haskellなら</>とか<+>とかもありという‥

758 :デフォルトの名無しさん:2008/10/03(金) 00:09:00
Python 2.6 Released

http://python.org/download/releases/2.6/

また大きく差がついてしまいましたね^^
もうOSS界の発展を阻害するRubyの開発なんてやめちゃったら?

759 :デフォルトの名無しさん:2008/10/03(金) 00:25:17
阻害はしてないだろ

760 :デフォルトの名無しさん:2008/10/03(金) 00:40:09
>>758
ちなみにどんな差がついたの?

761 :デフォルトの名無しさん:2008/10/03(金) 02:42:39
バージョン番号

762 :デフォルトの名無しさん:2008/10/03(金) 04:34:28
もうちょっとで整数1の差になるな

763 :デフォルトの名無しさん:2008/10/03(金) 04:44:25
>>755
Ruby は self のオブジェクトを別のオブジェクトに変更することはできない

irb> class Integer; def countup; self +=1; end; end
SyntaxError: compile error
(irb):1: Can't change the value of self

だから、++ の実装は文法というかシンタックスシュガー用のパーサ動作の変更を必要とする
単純にクラスにメソッドを追加しただけでは動作しない

764 :デフォルトの名無しさん:2008/10/03(金) 07:13:56
C系信者って怖いなあ、C系以外認めないってことなの?
そんな調子でCOBOLやらLisp系全般やらPrologやDelphiやPythonにも
「++演算子の実装を要求する!」とか言って突っ掛かってるんだろうか
Delphiから来たオイラには全く理解出来んわ

765 :デフォルトの名無しさん:2008/10/03(金) 07:24:43
実際 ++ なんて、ポインタ操作を除けばfor文やwhileのカウント程度にしか
使われてないだろ
そんなに欲しいほどRubyで使用頻度高いか?

766 :デフォルトの名無しさん:2008/10/03(金) 07:53:05
>>765
>>712

gsubはgsub!込みで45000
+=1は30000
だからかなり頻度は高いと言える。

>>764
Delにも専用のインクリメント機能Inc(a)がある。こっちは手続きだけど。

767 :デフォルトの名無しさん:2008/10/03(金) 08:09:46
結局は、++を自己代入の一種として定義しちゃえばいい感じだね
信者からするとmatzを否定されたみたいで嫌なのかな

768 :デフォルトの名無しさん:2008/10/03(金) 08:37:31
ひさしぶりのるびまきてたんだな

769 :デフォルトの名無しさん:2008/10/03(金) 09:27:34
>>767
違う、自己代入だとa++でaの指しているのが違うオブジェクトになるのが嫌なんだ
かといって破壊的にやると>>713の問題がある
しかもそうした諸問題の割に、導入してもたいしたメリットがない(明示的にa+=1と書けばいいじゃん、という話になる)

>>768
今見てきた
珍しくHotlinksが載ってなかったことと、桑田さんの頑張りが目立った

しかしついに半年か・・・次は1.9.1の後かな

770 :デフォルトの名無しさん:2008/10/03(金) 09:46:33
>766
だがInc()がRubyに欲しいかと言われると微妙
(そもそもInc()自体あんまり使わなかったってのもあるが)
あっても構わんが、無くても何も不便に思わん
たった数文字違いで全く同じこと出来るんだから別にいいやと思う
そんな数文字で嫌ならキーワードの冗長なDelphiなんて使わんしw

つか頻繁に使うわけでないgsubと比較してどうする
each とか検索してみたら吹くよ?

771 :デフォルトの名無しさん:2008/10/03(金) 10:17:45
>a++でaの指しているのが違うオブジェクトになるのが嫌なんだ
これって、++がsucc!であるのが当然と思ってるから、そうなのであって
実は全然問題にならないことだと思う
rubyにおいて++をどう定義づけるかが問題で、こうでなくてはならない!というものではなくて
succ!的なイメージを捨て去ればいいだけのことじゃない?
a+=1だって違うオブジェクトになるわけだし、そうなることがわかってれば、
その範囲で使うだけのことかと

>導入してもたいしたメリットがない
そもそも自分も++が無くてかまわない立場で、
ただ、昔はmatzの説明でそういうもんかと納得してたけど、今はちょっと違うかなと思いはじめた
少し考え方を変えることで、どうとでもなるようなことだったんだなと

772 :デフォルトの名無しさん:2008/10/03(金) 10:21:00
実装するのがめんどくせーくらいのつもりでで言っただけなのに
ここまで必死に擁護されるとも思わなかっただろうなw

773 :デフォルトの名無しさん:2008/10/03(金) 10:51:01
いやオブジェクトと変数のセマンティック的にありえないのだがw

ていうか必死なのはどっちだよwwwww

774 :デフォルトの名無しさん:2008/10/03(金) 10:52:12
俺はMatzを擁護するワケでもなく、要らない
Pythonとかも無いんだが、そっちにも入れろって言うワケ?

775 :デフォルトの名無しさん:2008/10/03(金) 10:54:02
>>772
実装するのが面倒なのはなぜか、ということを考えると主張の根幹が見えるよ
オブジェクト指向であることを崩せば実装は非常に簡単だけど、それをしたくないんだろう
Rubyであることを保持しつつ ++ を実装する方法があれば、Ruby作者だって前向きに考えるさ

++ 作ってくれというほうの主張はそういうの無しにとても利己的だから、こうやって非難されるんだよ
せめて実装可能な方法論くらい持ち込んでくれ

776 :デフォルトの名無しさん:2008/10/03(金) 10:56:25
変数の操作というのは、代入という究極魔法でどうにでもなるってことじゃなくて?

777 :デフォルトの名無しさん:2008/10/03(金) 11:12:27
なんとなくなんだが、++ 導入派の人たちは

i = 0
while (i < 3) do
tmp = i
i++
puts "#{tmp}です!"
end

が「1です!」から始まるんじゃないかと思ってる節があるんだがどうだろう

778 :デフォルトの名無しさん:2008/10/03(金) 11:27:32
なんか同じところでループしそうな雰囲気
よくわからないのが、文字列等なら破壊的メソッドがあって
オブジェクトIDを保持しながら操作できるのに、数値は無理なの?

例えば文字列をASCII順にシフトする String#++ みたいなものが
あったとしても、別にかまわないんでしょ?

779 :デフォルトの名無しさん:2008/10/03(金) 11:29:31
だから、自己代入にすれば何ら問題はないという話なのに、最初に戻すなって

780 :デフォルトの名無しさん:2008/10/03(金) 11:31:01
結論としてはRubyの整数の実装が糞ってことみたいだな。

781 :デフォルトの名無しさん:2008/10/03(金) 11:42:01
プリミティブがある言語がいいならJavaでも使ってろって

782 :デフォルトの名無しさん:2008/10/03(金) 11:42:53
>>778
文字列は「入れ物」なんだけど、整数は即値なんだよね
Integer には concat や replace に該当するものがないだろ
数値の変更がオブジェクトの変更なんだ

>>780
じゃあ数値は全部数値格納オブジェクトになるけど、Ruby が遅いって文句言うなよ

783 :デフォルトの名無しさん:2008/10/03(金) 11:45:15
しかし、こう並べて見てみると結構多いな
ttp://www.ruby-lang.org/ja/man/html/Ruby_A4C7BBC8A4EFA4ECA4EBB5ADB9E6A4CEB0D5CCA3.html

784 :デフォルトの名無しさん:2008/10/03(金) 12:22:10
>>778
いいかげん、「即値」という概念がわからないやつは黙った方がいい

785 :デフォルトの名無しさん:2008/10/03(金) 12:35:58
>>775
++は正直どうでもいいんだけどさ
aliasとかundefあたりは思いっきり「オブジェクト指向であること」を
崩しまくってると思うんだがどうよ?

786 :デフォルトの名無しさん:2008/10/03(金) 12:48:19
即値まで使ってんのにおっそいよなRuby。

787 :デフォルトの名無しさん:2008/10/03(金) 13:18:31
>>785
++ ごときで崩したくねーという思いがあるのではないかと推測
Rubyやってると「++ は別になくてもいいかな」とか思う

788 :デフォルトの名無しさん:2008/10/03(金) 13:20:41
>>786
本来「超おっそい」シロモノだった完全完璧オブジェクト指向スクリプト言語を、
頻繁に使われる整数などを即値にして妥協することで「まあ遅い」のレベルに引き上げたのですよ
そのへんの順番を勘違いしてはいけませぬぬぬ

789 :デフォルトの名無しさん:2008/10/03(金) 13:22:20
完璧超人が正義超人になったようなもんだな

790 :デフォルトの名無しさん:2008/10/03(金) 19:51:33
ruby に ++ を入れないのは、

ttp://www.kouno.jp/home/c_faq/c3.html

のような話になるからじゃないかな。

演算子の優先順位とか、副作用の話が
ごちゃまぜに来るので、説明が難しい印象がある。

一方で、破壊的メソッドは戻り値が......
すまん、忘れた。









791 :デフォルトの名無しさん:2008/10/03(金) 19:56:32
いや、「今のままだと入れるのめんどいから意味の通る実装募集中」のようなことをMLでRuby作者が言った
10年近く前の話だが

792 :デフォルトの名無しさん:2008/10/03(金) 20:45:41
駄目だこりゃ。
もう唯一まともな実装と言っていいRuby.NETに期待だな。

793 :デフォルトの名無しさん:2008/10/03(金) 21:21:50
IronRuby ?

794 :750:2008/10/04(土) 00:06:14
以前、C/C++への組み込みについて質問させて頂いたんですが、組み込む際に
windowsではlibmsvcrt-ruby18.dll.aへリンクさせれば出来たのですが、
linux上ではどのファイルにリンクさせれば出来るのかが分かりません。
ご教示お願いします。

795 :デフォルトの名無しさん:2008/10/04(土) 00:34:40
libruby.soに類するモノがあるなら -Lそれがあるディレクトリ -lruby
libruby-static.aがあれば -Lそれがあるディレクトリ -lruby-static
かしら。


796 :デフォルトの名無しさん:2008/10/04(土) 01:08:21
libruby-static.aかなと私も思ったんですが、違うみたいなんですよね。
でlibruby.1.8.so.1.8.6をリンクさせたら出来ました。ありがとうございました。

797 :デフォルトの名無しさん:2008/10/04(土) 01:21:44
-staticのほうはリンカで静的リンクを明示しないと使ってくれないのではないか。


798 :デフォルトの名無しさん:2008/10/04(土) 02:40:20
>792
VB.NET に ++ は無いけどな。

799 :デフォルトの名無しさん:2008/10/04(土) 03:55:51
>>784
Fixnumが即値かどうかじゃなくてNumericがimmutableだからだろ
その影響で即値じゃないBignumにもFloatにも破壊的メソッドは無い

800 :デフォルトの名無しさん:2008/10/04(土) 15:17:06
++ が(変数ではなく、オブジェクトを改変する意味で)破壊的メソッドだったら
a = 2
b = a
a++
とやったときに、b が 3 になってしまう。

なら「a++ は a = a.succ のsyntax sugar」ってことでいいんじゃないかと思うんだが。
副作用のせいで定義できない挙動は、未定義動作としておけばよい。

個人的には、最近データ統計とるプログラム書く機会が多くて、+= 1 をやたら書く
ハメになったから、++ があったほうが嬉しいとは思った。

801 :デフォルトの名無しさん:2008/10/04(土) 16:25:28
++a を a += 1 の syntax sugar とすることはできるけど
a++ は難しいわな。
そう考えると、なくていいように思う。

802 :デフォルトの名無しさん:2008/10/04(土) 16:57:52
>>800
さあruby-listに投下するんだ

803 :デフォルトの名無しさん:2008/10/04(土) 16:59:57
>>801
そう言やそうか

804 :デフォルトの名無しさん:2008/10/04(土) 17:33:53
さあFixnumの+を再定義する作業に戻るんだ

805 :デフォルトの名無しさん:2008/10/04(土) 17:34:22
a++は
proc{|tmp| tmp = a; a = a.succ; tmp}.call(nil)
の syntax sugar にしてみるとか

806 :デフォルトの名無しさん:2008/10/04(土) 17:39:13
いつまでこんな下らないネタをひっぱるんだ。
ruby-devに投稿する勇気もないやつらがぐだぐだ言っても無駄だし
たいした機能じゃない。
a+=1がa++になって何がうれしいんだ。

807 :デフォルトの名無しさん:2008/10/04(土) 17:39:39
またいつもの、途中までは自分がお利口さんのつもりで偉そうに議論しまくって、
穴を指摘されたり態度の厨臭さを指摘されたら、途端に「便所の落書きに何を期待してるんだ?」で
逃げる展開が始まるんすかw

808 :デフォルトの名無しさん:2008/10/04(土) 17:59:06
>>806
perl、c、java を仕事柄やっていて、++を使うことがなんだかんだ多いので
ruby でも書けたほうが、書き間違えるストレスが減る

809 :デフォルトの名無しさん:2008/10/04(土) 18:18:47
これをストレスに感じるようなら、他の重要な部分で致命的な勘違いを
してる可能性がある。rubyの使用を停止することをおすすめする。

810 :デフォルトの名無しさん:2008/10/04(土) 18:21:20
>>808
いいじゃん、言語にメリハリがつく。
RubyはC, Java, Perlとは違う言語なんだし、出来ることと出来ないことが
あって当然でしょ?

811 :デフォルトの名無しさん:2008/10/04(土) 18:42:41
できるならできるにこしたことないじゃん

812 :デフォルトの名無しさん:2008/10/04(土) 18:43:04
朝日新聞の電話調査によるとRubyを避ける要因の3.2%は++がないことだからな。
Rubyの今後の発展を考えたら対応する価値が十分にあると思うよ。

813 :デフォルトの名無しさん:2008/10/04(土) 18:51:19
>>811
出来ないというより、「言語哲学によりさせない」って感じかな。
Javaが多重継承できないのと一緒。
>>812
ネタはいいよつまらないから。

814 :デフォルトの名無しさん:2008/10/04(土) 18:57:28
まゆつば

815 :デフォルトの名無しさん:2008/10/04(土) 19:06:32
こんな他言語エミュレーションてんこ盛りの言語に言語哲学も何も。
whileだの$!だのいろいろくっつけておいて++だけ頑なに拒否?

816 :デフォルトの名無しさん:2008/10/04(土) 20:08:25
>>813
Javaで多重継承できないのは哲学というより、多重継承では一貫性を保つのが難しくなる側面
(たとえばC++でvirtual継承で無理やり何とかしてるダイアモンド継承の問題)があるからでしょ。
別に Ruby に ++ があって一貫性を保つように実装するのが難しいとは思えない。
++ でオブジェクトを破壊しないことを大前提にすれば、特に問題ないのでは?

817 :デフォルトの名無しさん:2008/10/04(土) 20:22:28
とりあえず、a = a.succにするのかa = a + 1にするのかでずいぶん違ってくるよね
.succを使うとかなり変な用法ができそう

818 :デフォルトの名無しさん:2008/10/04(土) 20:31:53
つ[ruby-list:6233]
まあMLでやらない時点でただの暇つぶしの雑談なんだろうけど

819 :デフォルトの名無しさん:2008/10/04(土) 20:37:06
> var = var.succ

>という案ですね.まあ,採用するならそれしかないかな,とは思っ
>ているんですけど,

しょうゆうことですね

820 :デフォルトの名無しさん:2008/10/04(土) 20:41:38
>>816
設計上の選択肢としては、別に単一継承+インタフェースでなくてもいいわけで
・多重継承+ややこしい規則(C++、Eiffelなど)
・単一継承+mix-in(Rubyなど)
でもよかった。どれも一長一短ある
じゃあなぜインタフェースを採用したかと言われると、もうそれは哲学としか言いようがないのでは

821 :デフォルトの名無しさん:2008/10/04(土) 20:44:13
>>818
それなりに真剣ではあるけど、自尊心が能力に大きく先行してるから、
過去の発言で現在の自分がジャッジされる空間、ヘタ打った時にそれを無かったことに
できない空間では、とてもじゃないけど怖くてモノ言えないんですよ。

822 :デフォルトの名無しさん:2008/10/04(土) 20:45:44
人格攻撃でRubyを防衛してる人たちは言うことがひと味違う

823 :デフォルトの名無しさん:2008/10/04(土) 20:46:50
多重継承自体は短所のがデカイと思うけど

824 :デフォルトの名無しさん:2008/10/04(土) 20:48:52
>>822
まぁ実際にはRuby批判のほうが圧倒的に人格攻撃多いんだけどね。

825 :デフォルトの名無しさん:2008/10/04(土) 20:50:55
++あってもいいよねくらいの話なのに、すごい必死で否定しようとしてて、
その人達の的外れな意見に興ざめしたよ。程度が低い

826 :デフォルトの名無しさん:2008/10/04(土) 21:01:11
>>821
いや>>818下一行は俺ってばネタにマジレスしてるよ、っていう自虐
もし本気な人がいたらごめんなさい、開発者に見えるところでやってください
って書いた時点で思い出したけどいるじゃん>>656

827 :デフォルトの名無しさん:2008/10/04(土) 21:09:03
>>825
自分と違う意見の人達がどいつもこいつも「必死に的外れなことを言っている」
ようにしか見えない一種の病気があって、大抵は20代前半にピークを迎えるけど、
君のもそれじゃないの?

828 :デフォルトの名無しさん:2008/10/04(土) 21:12:24
最初から実装されてたら普通に使うんでそ?

829 :デフォルトの名無しさん:2008/10/04(土) 21:17:04
>>827
713,743,777みたいなやつは?

830 :デフォルトの名無しさん:2008/10/04(土) 21:17:52
盛り上がってまいりました

831 :デフォルトの名無しさん:2008/10/04(土) 21:22:03
最初から無かったってのが大きいよな
本当に、ただそれだけのことなんだけど

832 :デフォルトの名無しさん:2008/10/04(土) 21:26:40
>>829
質問の意図がはっきりしないけど、雰囲気から察するに、
ある勢力の中から「変なの」をちょっと捕まえて、その「変さ」を勢力全体に当てはめて
一気に全否定するデザインパターンを使いたがってます?

833 :デフォルトの名無しさん:2008/10/04(土) 21:27:05
本質的な問題としてさ、C とかの ++ のある言語でさ、ループカウンタ以外で ++ を使うことってある?
まず無いよな?
ループカウンタのようなもの以外では明示的に1を足すよな?
んで、ループカウンタの大部分はRubyではブロックつきメソッドで用が足りるよな?
ループカウンタ用途以外ではRubyでは +=1 とかでよくね?

834 :デフォルトの名無しさん:2008/10/04(土) 21:29:04
eachで間に合うみたいな的外れなのも出続けるのはなんでだろうね

835 :デフォルトの名無しさん:2008/10/04(土) 21:29:40
ここは下手にCに似せると、逆に混乱が起きそうで・・・・・・
何で前置と後置両方無いのかとか、評価順序が変わらないのかとか

ループ変数での需要が無いぶん、
わざわざ演算子として用意するだけの需要があるのかって疑問も出てくるだろうし
(たぶん使う人は使うんだろうけどさ)

836 :デフォルトの名無しさん:2008/10/04(土) 21:35:14
++が欲しいって人のほとんどは、あまりRubyを使い込んでいないんだろう。
おそらくeach_with_indexも知らないレベル。

なぜ他の言語の文法を、代替手段があり、なおかつなぜ入れないかの
説明もしてるのに、採り入れろと騒ぐのかわからん。

837 :デフォルトの名無しさん:2008/10/04(土) 21:37:19
まともなプログラムを書く人はwhileとかも使いますから、
そういうことは言わない方がいいのでは?

838 :デフォルトの名無しさん:2008/10/04(土) 21:43:44
>>833
> 本質的な問題としてさ、C とかの ++ のある言語でさ、ループカウンタ以外で ++ を使うことってある?
for文の中で if (要素を見て判定) ++found; みたいなことをする時、found += 1; と書いてる奴は少ないと思う。

839 :デフォルトの名無しさん:2008/10/04(土) 21:50:17
事足りる論で語り出したら、+= も要らないとかになるのか

840 :デフォルトの名無しさん:2008/10/04(土) 21:51:03
事足りる論で語り出したら、Ruby も要らないとかになるのか

841 :デフォルトの名無しさん:2008/10/04(土) 22:19:00
この話題の引っ張りようを見ると
普段このスレが、どれくらい話題に飢えているのかが分かるな

842 :デフォルトの名無しさん:2008/10/04(土) 22:49:44
>838
配列など.select{|v|条件式}.size

843 :デフォルトの名無しさん:2008/10/04(土) 22:50:04
タブインデントを何にするか、とか定番の盛り上がりネタなだけでしょ
一見誰でも参加できるしねw

844 :デフォルトの名無しさん:2008/10/04(土) 22:51:53
典型的な自転車置場の議論。1.9.0 の話題でもしろよ。

845 :デフォルトの名無しさん:2008/10/04(土) 22:54:05
>>842
いやRubyの話じゃなくて、
「C とかの ++ のある言語」で「ループカウンタ以外で ++ を使う」例を書いたんだ。

846 :デフォルトの名無しさん:2008/10/04(土) 22:57:54
じゃあ次は、Rubyスクリプトを書くときに
どんなエディタor開発環境を使うかの話をですね(以下loop do〜end

847 :デフォルトの名無しさん:2008/10/04(土) 23:02:21

GNU Emacsにruby-modeが結局入らなくなってしまったのがとても悲しい
英語でドキュメント書く人いないの?関数や変数の説明がないと取り込まれないしなー

848 :デフォルトの名無しさん:2008/10/05(日) 00:06:30
受益者負担でどうぞ


849 :デフォルトの名無しさん:2008/10/05(日) 00:25:49
>>842
DBやIOストリームから1行ごと読み込んで、別の処理もしつつカウントもしたい場合は?

850 :デフォルトの名無しさん:2008/10/05(日) 00:33:19
拡張モジュールで、あるライブラリを読み込むにはどうしたらいいですか。
つまり
require 'rubygems'
ということを C で行なう方法です。
あとクラスを参照するには
VALUE klass = rb_const_get(rb_str_new2("ClassName"));
でいいでしょうか。

851 :デフォルトの名無しさん:2008/10/05(日) 00:35:50
>>847
どのバージョンだと入らないの?
ちなみに俺は GNU Emacs 22.1.1 使ってるけど ruby-mode あるよ

852 :デフォルトの名無しさん:2008/10/05(日) 04:01:13
>849
DB関連は疎いから割愛しておくけど
現在の行ならIO#linenoで判るし
IOもEnumerableをincludeしてるから、selectも同じく使えるが。
ちなみにブロック内には別の処理だって挟めるから「別の処理もしつつ」はあまり問題にならんかと。
まあ、全く内容を保持する必要がなく、カウント/集計のみ取りたいというのであれば
素直に+=1するけど。
…むしろ別の言語の癖でcnt=cnt+1とわざわざ書いてしまうこともあるけれどw

853 :デフォルトの名無しさん:2008/10/05(日) 08:39:44
>>824
根拠をkwsk

854 :デフォルトの名無しさん:2008/10/05(日) 09:21:43
個人的には、メソッド型マクロを導入する!とか斜め上に行ってほしいが無理だろうな

855 :デフォルトの名無しさん:2008/10/05(日) 10:56:27
>>852
集計なんかは、単一の対象だけを数え上げることは稀だから、selectじゃ難しいんじゃね?
それにデータが大量にある場合、selectだと条件に一致した元のデータがメモリ上に積まれてしまうのも難点だわな

856 :デフォルトの名無しさん:2008/10/05(日) 10:59:56
ttp://doc.loveruby.net/refm/api/view/method/Enumerable/i/count

857 :デフォルトの名無しさん:2008/10/05(日) 11:03:57
それだと一種類の対象しか数えられないじゃん

858 :デフォルトの名無しさん:2008/10/05(日) 13:24:18
>>850
>拡張モジュールで、あるライブラリを読み込むにはどうしたらいいですか。
rb_require("hoge");

>あとクラスを参照するには
任意のクラスであればそのとおり。
組み込みクラスであれば、
rb_cObject
などの変数を利用できる。詳細は ruby.h。


859 :デフォルトの名無しさん:2008/10/05(日) 14:21:48
>855
「別に積まれても良くね?」と思ってしまう俺はRuby脳
まあ、積まなくても+=1で無問題だが

860 :デフォルトの名無しさん:2008/10/05(日) 14:45:16
積まれてもいい時は簡単な方、それでは困るときは積まない方を選べばいいだけの話です

861 :デフォルトの名無しさん:2008/10/05(日) 16:27:15
s = source+10;
d = destination+5;
for (i = 0; i < n; i++) {
  *d++ = *s++;
}
みたいなんを、添字がもっと鬱陶しい感じの式になる時に使うことはあるな。
でも ruby で ++ 使いたくなったってのはずいぶん昔のことになる。

862 :デフォルトの名無しさん:2008/10/05(日) 17:26:36
「+=1でいいところをどうしても++でないと嫌」ってのは、
Cを使ってて後置++でならコンパクトに書けるとき、くらいだのう。



863 :デフォルトの名無しさん:2008/10/05(日) 18:32:11
>>861
それはダメな使い方では
少なくとも非常に紛らわしい

864 :デフォルトの名無しさん:2008/10/05(日) 18:34:47
駄目も何もCの定石じゃん

865 :デフォルトの名無しさん:2008/10/05(日) 18:49:50
駄目な定石の典型例だな

866 :デフォルトの名無しさん:2008/10/05(日) 18:52:20
もう++憎けりゃ袈裟まで憎い状態だなw

867 :デフォルトの名無しさん:2008/10/05(日) 18:57:02
Matzが最初から実装してたら、こんな精神異常者を生むことはなかったろうに

868 :デフォルトの名無しさん:2008/10/05(日) 19:02:43
++がある言語を使えばいいだけだろw

869 :デフォルトの名無しさん:2008/10/05(日) 19:04:30
>>863
紛らわしいって、いったい他のどんな可能性と紛れるんだ?

870 :デフォルトの名無しさん:2008/10/05(日) 20:10:35
D言語と区別がつかないとかじゃね

871 :デフォルトの名無しさん:2008/10/05(日) 21:14:59
++ はいいけど、= の代入と両方あるから

> *d++ = *s++;

の場合は代入と increment の前後を考えるし、++ を
使うと副作用があるか確認が必要だと思う。
ミスしやすいから ++ を non-trivial なものと混ぜるなという
安全ルールがあったと思うんだが。



872 :デフォルトの名無しさん:2008/10/05(日) 21:26:41
空気読まずに素人の便乗質問ですが、Cとかで++後置の場合は、
評価された後に副作用?としてインクリメントされる、みたいな理解で
問題ないですか?

>>861の場合を妄想すると、
*d に *s を代入し、この式の次の処理までのどっかのタイミングで
両方ともインクリメントされてる、ていう風に動作するの?

873 :デフォルトの名無しさん:2008/10/05(日) 22:04:14
そういうワケわからんことになるから
++ の戻り値は使わない方が良い
個人的なコードなら構わんが
他の人がメンテナンスする可能性があるなら地球がヤバイ

874 :デフォルトの名無しさん:2008/10/05(日) 22:08:31
アホの集まり

875 :デフォルトの名無しさん:2008/10/05(日) 22:20:30
>>871
こと文字列の操作に関しては、
イディオム的によく使われる書き方だと思うが
有名な例としてstrcpy

void strcpy(char *s1, char *s2)
{
  while(*s1++ = *s2++)
    ;
}

876 :863,871:2008/10/05(日) 22:20:32
一応確認したが >>861 みたいな使い方はやはり定石では無いと思う。

ttp://www.learncpp.com/cpp-tutorial/33-incrementdecrement-operators-and-side-effects/
> As a general rule, it is a good idea to avoid the use operators that
> cause side effects inside of compound expressions. This includes all
> assignment operators, plus the increment and decrement operators. Any
> operator that causes a side effect should be placed in it’s own
> statement.

繰り返さないが Stroustrap が書くの手伝ったルールでも (AV199)
ttp://www.research.att.com/~bs/JSF-AV-rules.pdf

>>872
基本的にそういうことになる。ついでに operator precedence も考えない
といけないから*(p++) であることを認識することも必要。

この場合は変なことしない限り平気だと思うけど、やはり >>872 のような
疑問が出るし、一瞬にしろ間違いがありえないか考えなければならないから
バラした方が良いと俺は思うし、そうしてる。考えるだけ面倒。

C使ってる時代 pointer arithmetic 振り回して、ついでに無駄(と思った)
カッコ削って「わからん奴がアホ」みたいな調子でやってた時もあったけど、
数年たって読んだら自分でも考えないと読めなくて反省した記憶がある。

>>873 「地球がヤバイ」って気に入った

877 :デフォルトの名無しさん:2008/10/05(日) 22:23:05
googleの結果貼り付けて議論した気になってるとか

878 :デフォルトの名無しさん:2008/10/05(日) 22:29:29
>数年たって読んだら自分でも考えないと読めなくて反省した記憶がある。
だからアホなんだよ

879 :デフォルトの名無しさん:2008/10/05(日) 22:30:51
たしかK&Rかプログラミング作法かなんかでイディオムだって書かれてたよ
実際良く見るし定石って言っても問題ないかと(良いか悪いかは別)

880 :デフォルトの名無しさん:2008/10/05(日) 22:56:15
どんだけ複雑で理解しにくいコードになりうるのかはしらんけど
少くとも>>861程度なら定石でしょ

まあこの話は置いとくとして
仮に>>861のような使い方が一般的にダメだとしたら
ますますRubyに++なんていらなそうだが

881 :デフォルトの名無しさん:2008/10/05(日) 22:57:41
漏れもRubyに移った当初はendがうぜーとか++がなんでないんだよとか
思ってたけど、馴れるとどうでもよくなったなあ。

882 :デフォルトの名無しさん:2008/10/05(日) 23:01:22
そりゃ++があっても慣れたらどうでもいい話さ

883 :デフォルトの名無しさん:2008/10/05(日) 23:02:34
ところで、この話題いつまで続くの?

884 :デフォルトの名無しさん:2008/10/05(日) 23:05:09
次のるびまが出るまで

885 :デフォルトの名無しさん:2008/10/05(日) 23:18:23
半年間も続くの?

886 :863,871:2008/10/05(日) 23:18:45
>>877
安全のためのルールがあるって書いたから一応根拠出しただけだよ。
君の方が煽るだけで議論だと思ってるのかな?
言ってることが間違ってるという反論があるならどうぞ。
チームで coding するときは誤解や間違いを避けるためにそれなりのルールがある。



887 :デフォルトの名無しさん:2008/10/05(日) 23:25:58







888 :デフォルトの名無しさん:2008/10/05(日) 23:31:45
>872
っ C++STD2003 5.2.6.1
The value obtained by applying a postfix ++ is the value that the operand had
before applying the operator.
[Note: the value obtained is a copy of the original value ]

889 :デフォルトの名無しさん:2008/10/06(月) 00:16:26
つーか strcpy の実装みたいなのなんか、副作用のある書き方を避けても
++ は間違いなく使うわな

890 :デフォルトの名無しさん:2008/10/06(月) 00:35:49
>>850
> あとクラスを参照するには
VALUE klass = rb_path2class("ClassName");


891 :デフォルトの名無しさん:2008/10/06(月) 07:09:10
現代の肖像まつもとゆきひろ/プログラミング言語「Ruby」開発者
http://www.aera-net.jp/latest/
http://www.excite.co.jp/News/magazine/MAG18/20081006/282/

892 :デフォルトの名無しさん:2008/10/06(月) 11:13:59
定期的に新人君のガス抜きのために必要なんだよ++の話題はw

893 :デフォルトの名無しさん:2008/10/06(月) 15:29:44
じゃあそろそろCR+LFの話題へ変えてみようか…

894 :デフォルトの名無しさん:2008/10/06(月) 15:40:06
定番の文字セット・エンコードネタでもいいんじゃね?

895 :デフォルトの名無しさん:2008/10/06(月) 17:06:07
いつもは何を話題にしてるんだ? 1.9のエンコーディングの話?

896 :デフォルトの名無しさん:2008/10/06(月) 20:21:50
モルモン教の話
クリスマスにリリースすることの話

897 :デフォルトの名無しさん:2008/10/06(月) 20:46:57
++は2.0までに入れておいてくれればいいよ。

898 :デフォルトの名無しさん:2008/10/06(月) 20:50:52
それは入れなくていいって意味か?

899 :デフォルトの名無しさん:2008/10/06(月) 22:00:25
いつまでMatzが中心でいられるかという問題も

900 :デフォルトの名無しさん:2008/10/06(月) 22:18:09
言語仕様の保守が委員会とかに移行しても、作者の影響力って相当残りそうな感じだが
Python・PHPとかだとどうなんだろう?

901 :デフォルトの名無しさん:2008/10/06(月) 22:32:00
1.9・2.0でどんだけコケるか

902 :デフォルトの名無しさん:2008/10/06(月) 22:35:37
クリスマスに1.9.1がリリースされたとして、その後の展開が気になるな
果たして1.9.1が、どれくらい使われはじめるのか
そしてどれくらい混乱を巻き起こすのか

903 :デフォルトの名無しさん:2008/10/06(月) 22:50:06
>>900
PHPって今も作者が影響力を持っているの?

904 :デフォルトの名無しさん:2008/10/06(月) 23:04:19
Perlのlwall、Pythonのguido、Rubyのmatzあたりに比べると
名前の露出が少ない気がするな。誰だっけ?


905 :デフォルトの名無しさん:2008/10/06(月) 23:09:22
PHPがperlで書かれたweb用フレームワークだった頃の人は
もう蚊帳の外じゃないのかなぁ。

906 :デフォルトの名無しさん:2008/10/06(月) 23:16:30
>>904
ラスマス・ラードフ

907 :デフォルトの名無しさん:2008/10/07(火) 00:13:30
PHPは個人というよりZend社が作者な気がする

908 :デフォルトの名無しさん:2008/10/08(水) 02:08:34
質問です。LinuxZaurus(QT)、WindowsMobile6、Win32(デバッグ用)で共通に使えるGUIライブラリってありますか?
リナザヴ向けと、WM6向けのGUIをそれぞれ分けて作ると手間なので出来るだけ共通化して書きたいのですが…

909 :デフォルトの名無しさん:2008/10/08(水) 08:10:08
質問の答えになってないけど、モバイル機のスペックでRubyまともにいごくんかな・・・

910 :デフォルトの名無しさん:2008/10/08(水) 08:45:37
>>908
html

911 :デフォルトの名無しさん:2008/10/08(水) 13:03:14
>>908
WideStudioがいいとおもう

912 :デフォルトの名無しさん:2008/10/09(木) 08:14:43
ruby-listにきてた社内公募とかいうやつは間違えて送信しちゃったのかな

913 :デフォルトの名無しさん:2008/10/09(木) 13:57:14
>>698-709
前にIO言語をいじっていた時に、++がなかなか実装できなくてないたぞ

Io Language
http://pc11.2ch.net/test/read.cgi/tech/1201100624/19-36


Rubyで++実装しにくい理由がよくわかったよ。
まあ、やるならソースいじったほうが早かったけど。

914 :デフォルトの名無しさん:2008/10/09(木) 21:16:24
++ が必要という説得力のある理由が無いからいいよ

915 :デフォルトの名無しさん:2008/10/10(金) 03:39:02
とか言いながら、あったら使うんだろ?
もし ++ があるのに += 1 とか書いてたら格好悪いもんな。

一般に ++ のある言語は、プリミティブな数値を破壊的にインクリメントしているわけだけど、
数値すらも(実装上はともかく概念的には)オブジェクトである Ruby では、++ は素直に実装しづらい。

でもだからこそ、Ruby である程度一貫性を保ちながら実装できたら、成果として大きいとは思う。

916 :デフォルトの名無しさん:2008/10/10(金) 05:39:16
ですよねー

100.timesとかFixnumがメソッドをもちえる言語なんてビックラですよ

917 :デフォルトの名無しさん:2008/10/10(金) 08:19:15
>>915
俺はあっても使わない

918 :デフォルトの名無しさん:2008/10/10(金) 09:11:58
あってもいいというよりRuby哲学から考えてないとおかしい。

919 :デフォルトの名無しさん:2008/10/10(金) 09:23:44
特別扱いの代物になることだけは絶対に確かだな

そういうのがRubyにいくつあるか自体は別にいいんだが、
++の代替可能っぷりと実装困難性からして
「特別扱いにしてでも導入する価値」は低いとは言わざるを得ない

導入希望側の主張はそのへんの現在位置を踏まえた上でやって欲しいと思う
あって当然&代替不能&実装簡易と思ってるのは君たちだけだ

920 :デフォルトの名無しさん:2008/10/10(金) 09:27:34
>>916
ビックラしたというのは否定はしないわ

というか、upto とかはいいんだが、times が整数の持つメソッドだってなんかイメージと違わね?

921 :デフォルトの名無しさん:2008/10/10(金) 09:33:44
字面を優先したんだろうな
100 timesという順序で並ぶと、英語的に綺麗になるから
でも確かに、timesを予約語にして

loop 100 times do

とかやった方が良かったんじゃないかなーとは思う

922 :デフォルトの名無しさん:2008/10/10(金) 11:16:02
>>919
>特別扱いの代物になることだけは絶対に確かだな
>
>そういうのがRubyにいくつあるか自体は別にいいんだが、
>++の代替可能っぷりと実装困難性からして
>「特別扱いにしてでも導入する価値」は低いとは言わざるを得ない

これが現時点での結論だよな

923 :デフォルトの名無しさん:2008/10/10(金) 12:06:11
ぐだぐだ言いたい人には言いたいだけ言わせた方がいいよw

924 :デフォルトの名無しさん:2008/10/10(金) 13:15:17
>>923
だよねwこんなところで言うならMLになげりゃいいのにw

925 :デフォルトの名無しさん:2008/10/10(金) 13:57:09
ここ見てると否定派のほうがキチガイになってるのはなんでだろうか

926 :デフォルトの名無しさん:2008/10/10(金) 14:40:51
>>924
>だよねwこんなところで言うならMLになげりゃいいのにw
べつにそこまでするようなことでもない

927 :デフォルトの名無しさん:2008/10/10(金) 15:11:05
てか、10年以上前にMLで議論されとる。
まんどくせ、意味わかんね。で終了

928 :デフォルトの名無しさん:2008/10/10(金) 15:17:30
>>925
君が否定派をキチガイとして見たくてたまらない肯定派だからじゃない?
自覚の有無にかかわらず。

929 :デフォルトの名無しさん:2008/10/10(金) 17:34:42
Rubyの求人メモ
ウェブシステム開発・モバイルサイト開発のPHPプログラマ[兼務]
https://www.find-job.net/fj/showjob.cgi?id=60511&from=23

Ruby on Rails,PHP,WEBサービスエンジニア募集中!
https://www.find-job.net/fj/showjob.cgi?id=70178&from=23

930 :デフォルトの名無しさん:2008/10/10(金) 20:32:32
>>916
こいつはどう思う?
ttp://blog.livedoor.jp/gushwell/archives/51504534.html
まあ、後追い感はあるけど。

931 :デフォルトの名無しさん:2008/10/10(金) 21:43:43
>>920
Smalltalkだとif文やwhile文あたりも論理型オブジェクトへの
メッセージ送信だったりしてビックラできる。

(a > 10) ifTrue: [ Transcript show: 'a is greater than 10.' ].

みたいなー。


932 :デフォルトの名無しさん:2008/10/10(金) 21:46:50
>>925
別に俺は ++ あれば使う派だけど、無くても別にいいや。
ただ、++ あるべきだという理由はどんなのあるの?
ちょっと便利程度しか思いつかんのだが。

933 :デフォルトの名無しさん:2008/10/10(金) 22:09:56
+=1が++と書くだけで済むようになるのは超絶的に便利!
断然追加すべき!
そう思わない人間はキチガイ!

934 :デフォルトの名無しさん:2008/10/10(金) 22:13:00
下手な煽り方をするなと

935 :デフォルトの名無しさん:2008/10/10(金) 22:16:02
a = 0
b = a += 1

がわかりにくいような気はする

a = 0
b = a++

だとわかりやすい
まあ

a = 0
b = a = a + 1

でいいんだけどさ

936 :デフォルトの名無しさん:2008/10/10(金) 22:23:20
a += 1 だとホワイトスペースを入れないと見にくいので、4文字になるけど、
a++ならホワイトスペース入れなくていいので、2文字ですむ。

937 :デフォルトの名無しさん:2008/10/10(金) 22:25:07
>>935
そのレベルの話なら別に

a = 0
b = a
a += 1

でいいじゃん。わかりやすいよ。


938 :デフォルトの名無しさん:2008/10/10(金) 22:27:40
>>935
その例はむしろ不味い
下手にCの後置インクリメント演算子を連想すると
bは0になってしまう

939 :デフォルトの名無しさん:2008/10/10(金) 22:50:38
>>937
偏見だが、++ 推進派の人にとっては2行目が常用不能だと思う

940 :デフォルトの名無しさん:2008/10/10(金) 23:05:49
>935
2番目は一番解りにくい例じゃん…
C系の++演算子(前置/後置)の戻り値使ったことある?

941 :デフォルトの名無しさん:2008/10/10(金) 23:18:19
CからRubyにきてはまる
a = 0
b = ++a
puts b # =0 あれっ?
なんちゃって

単項演算子 の + - って面白いな
puts +-+-+-+-+a
とか通るのが

いっそ、selfのすり替えが出来るリフレクションを追加して
単項の ++ 演算子も新設して破壊的にすり替えるとか


942 :デフォルトの名無しさん:2008/10/11(土) 01:49:56
わかりにくいもなにも、Ruby の ++ は succ! 相当であることが期待されてるわけだし、返り値は +1 された数値だろ
他の言語でどういう動作になってるかは知ったこっちゃねえと思うが

943 :デフォルトの名無しさん:2008/10/11(土) 02:02:01
そんなエミュレーションまで面倒見切れねーよ
「self のオブジェクトを切り替えるメソッドだが、返り値は切り替え前の self」とかありえねー

944 :デフォルトの名無しさん:2008/10/11(土) 02:08:40
> var = var.succ

>という案ですね.まあ,採用するならそれしかないかな,とは思っ
>ているんですけど,
Matzだってこういってるのに何言ってんだか

945 :デフォルトの名無しさん:2008/10/11(土) 02:33:44
うーん、でも ++ が導入されたとしたら
ary[i++] = ....
みたいなのも想定されるだろうから、後置だったらインクリメント前の値を返さないと文句が殺到しそう

946 :デフォルトの名無しさん:2008/10/11(土) 02:45:20
そんな動作だと、前置以上に面倒くさいな
そうやってどんどん要求が膨れあがるんだろう…
そもそもRubyはC言語じゃないし

947 :デフォルトの名無しさん:2008/10/11(土) 02:49:54
「要求が膨れあがる」で思ったが
実は += があるから ++ を入れろなんて変な要求が出てくるんじゃね?
自己代入があるんだから ++ も入れられるだろ、って感じで

ならいっそ += も削除しちゃえば良いんじゃね
既存コードはオプション付ければ動くってことで

ちょっとコードが長くなるだけで、意外と困らない気がするんだが、どうよ?

948 :デフォルトの名無しさん:2008/10/11(土) 02:53:35
だからキチガイって言われるんだよ

949 :デフォルトの名無しさん:2008/10/11(土) 02:56:58
これ、前に書いてた人と違う人がまたループさせてるの?
ちょっと前と同じことを繰り返してるように思えるんだが

950 :デフォルトの名無しさん:2008/10/11(土) 02:57:32
DRY的に自己代入は要るだろ
a+=1はrepeatしてないので++は無くてもいいが

951 :デフォルトの名無しさん:2008/10/11(土) 03:00:15
それ、DRY?絶対に何か間違ってると思う。

952 :デフォルトの名無しさん:2008/10/11(土) 03:03:49
なんで++要らないって言ってるほうが話を蒸し返してループさせちゃうのか理解に苦しむ

953 :sage:2008/10/11(土) 03:32:00
いや、だからDRY = 話をループさせるな。だろ。

954 :デフォルトの名無しさん:2008/10/11(土) 03:45:48
ループさせたくないなら、決定的な結論か、もっとおもしろい話題を提供すればよろしかろ

つーか実装するのは簡単なんだからやりゃいいのに
a = b++ は a = b; b = b.succ に、 a = ++b は b = b.succ; a = b になるようにすればいいだけじゃん
b = b + 1 と書きたい人の自由を制限するわけでもないし

955 :デフォルトの名無しさん:2008/10/11(土) 06:18:26
>>954
a=2++ +3はいくつ?

956 :デフォルトの名無しさん:2008/10/11(土) 06:37:37
2++は無理だろ
2+=1が無理なのと同様

957 :デフォルトの名無しさん:2008/10/11(土) 06:41:52
これだけ混乱を呼ぶ話題なのに、まだ簡単に導入できるとか言うのか
実際、++を導入した時点で、>>945みたいなことをやる人間が出るのは想像に難くない

>>954
左の例おかしくないか

b = 2
a = b++
p(a, b) #=> 2, 3

958 :デフォルトの名無しさん:2008/10/11(土) 06:43:36
>>956は問題わかってねえな
じゃあ

x = 2
a = x+++3

でもいいや
これは現行の Ruby では 5 だ
++ が導入されたら 6 になるのか?

a = x++3

これはパースエラー?それとも 5 ?

959 :957:2008/10/11(土) 06:45:16
すまん、見直してみたら例は別におかしくなかった

960 :デフォルトの名無しさん:2008/10/11(土) 06:47:48
> >>945みたいなことをやる人間が出るのは想像に難くない
というか、

eval [1, 2, nil, nil, 3].join('+')

の返り値が 7 になるのは勘弁して欲しいわけで…

961 :デフォルトの名無しさん:2008/10/11(土) 06:55:15
>>958
それこそ書くべきじゃないコードじゃないの
もう否定する為の材料の探し方が末期的になってきたなw

962 :デフォルトの名無しさん:2008/10/11(土) 07:03:01
>>961
違う
++ の導入には Ruby パーサの動作を変える必要がある
そのとき、現行で許されている書き方をどうするかという問題は避けて通れない

963 :デフォルトの名無しさん:2008/10/11(土) 07:03:30
++(--)欲しい人はどんな時に++使いたいの?
ちょっと使いたい部分のソース見せてよ
出来れば2,30行くらいのメソッドでたのむ

>>960
うちでは6になったけど?バージョンは1.8.6

964 :デフォルトの名無しさん:2008/10/11(土) 07:06:05
>>958
>a = x++3
まあもし実装されるとしたらパースエラーだろう
字句解析は最長一致が原則だから、
x、++、3に分解される。意味が通らんね

965 :デフォルトの名無しさん:2008/10/11(土) 07:12:24
>>963
うん、1+2+++3 だから 6 だな
++ 構造が導入された場合は 1 + 2++ + 3 で 7 になる予定

966 :デフォルトの名無しさん:2008/10/11(土) 07:21:34
x+++y はたしかに許されてはいるが、こんなコードが有益になる場面はなさそうだな
こんなの無理やりわざと書かなきゃ出てこないだろ

967 :デフォルトの名無しさん:2008/10/11(土) 07:31:14
>>965
ああなるほど「導入されたら」の話なのね

つまり++を導入するなら+++とか/*とか考えうる
全ての演算子を導入すれば一件落着ということか

968 :デフォルトの名無しさん:2008/10/11(土) 07:32:27
>>966
配列回して足すより文字列連結でevalのほうが速い時とかどうだろう(あるのかどうかは知らない)

Rubyのパースで今までエラーにしてないものをエラーにしてまで追加する価値のあるものにも思えないが…

969 :デフォルトの名無しさん:2008/10/11(土) 07:46:08
現在許されてる加算記号の連続と被ってるからマズいんだよな
<+ とか <- とか新しい書き方で導入するのはどうだろう

970 :デフォルトの名無しさん:2008/10/11(土) 07:46:25
その現実的にまず出てき得ないコードを諦めてもらうくらいの価値はあると思うけど
前にも出てきたけど複雑な集計とか、あとは順番にiterateするのでなくカーソル的な挙動が必要な場合とか

971 :デフォルトの名無しさん:2008/10/11(土) 07:48:56
>>969
だから self 切り替えの特殊な succ! でいいじゃんよ
本質的なインクリメントは実装できてるだろ

++ という2文字が使いたいという病気の人は無視でいい

972 :デフォルトの名無しさん:2008/10/11(土) 07:55:51
+=1が駄目で++がいいというのは正直よくわからんのだ
明示的に整数を足してるのがよくないのか?

973 :デフォルトの名無しさん:2008/10/11(土) 07:59:34
+=1じゃ、ary[i++]=hogeが書けないのではないかと

974 :デフォルトの名無しさん:2008/10/11(土) 08:02:25
++は十分メジャーな演算子ですので

975 :デフォルトの名無しさん:2008/10/11(土) 09:31:14
succなんて特殊用途にしか使えないメソッドがあるのがすべての元凶だな。
いったいこの世に整数が何種類あると思っているんだ。

976 :デフォルトの名無しさん:2008/10/11(土) 09:33:03
結論:やっぱり言語仕様がクソだった

977 :デフォルトの名無しさん:2008/10/11(土) 09:35:55
相変わらず++否定派はキチガイばっかりだな。
賢い人間は全員肯定してる。
二つの勢力に知的レベルの差がありすぎて、会話が成立していない。

問題は、肝心の教祖様がキチガイのほうに属してることか。

978 :デフォルトの名無しさん:2008/10/11(土) 09:38:59
>>977
俺は ++ 使い慣れてるからあれば使うけど、結局なぜ必要なの?

>>973 が理由?

979 :デフォルトの名無しさん:2008/10/11(土) 10:11:44
>>973
普通に書けるよ
返り値が整数かどうかだけだもの

irb> a = Array.new
irb> i = 0
irb> a[i+=1] = 1
irb> p a
[nil, 1]

980 :デフォルトの名無しさん:2008/10/11(土) 10:16:32
>>979
それは [1] にならないといけない
i++ は i をインクリメントするが、返り値はインクリメント前の整数だ
i をインクリメントしてなおかつ返り値がインクリメント後の整数なのは ++i


981 :デフォルトの名無しさん:2008/10/11(土) 10:27:42
>>698〜の一回目ループと比べて劣化してないか?何故だw

982 :デフォルトの名無しさん:2008/10/11(土) 10:31:36
>>981
インクリメント演算子(またはメソッド)と ++ は違うということが理解されただけだろう
インクリメントを実装するのはめんどくさいが、 それに加えて ++ の動作をエミュレートするのはバカみたいに面倒だ

983 :デフォルトの名無しさん:2008/10/11(土) 10:38:27
おまけに「どんなとこでなぜ使うの?」という肝心な質問には一切答えない

984 :デフォルトの名無しさん:2008/10/11(土) 11:33:22
そもそもC言語に++演算子があるのは、>>861みたいなのをコンパイルしたときに、
マシン語のポストインクリメントアドレッシング(680x0とかにあるやつ)に
楽に変換できるからじゃないかと思うんだが。

そんな時代の産物をむりやりRubyに導入しなくても。

985 :デフォルトの名無しさん:2008/10/11(土) 12:41:44
またわけのわからんことを…
++なんて.NETなC#にもシェルスクリプトのPowerShellにもあるよw

986 :デフォルトの名無しさん:2008/10/11(土) 12:56:52
イテレータがない言語や古代言語と比較されても。

987 :984:2008/10/11(土) 13:04:02
ポストインクリメントアドレッシングまでいかなくても、多くのCPUアーキテクチャには
レジスタのインクリメント/デクリメント専用の命令があって、それらは実行が速かったり
命令サイズが小さかったりした。

んで、C言語はもともと実行効率優先の言語なのでそれらの命令を使いたいけど、
初期のコンパイラは最適化が弱かったので、人間がソースコードに明示してやる
必要があったと。それが++や--といった演算子が用意された所以だと思う。

つまりC言語が「高級アセンブラ」だった名残じゃないかと。

C#なんかはCからの派生言語だから、++を残すのはまだ分かるけど、Rubyは
別にC系というわけじゃないんだから、無理に導入する必然性はないと思う。

988 :デフォルトの名無しさん:2008/10/11(土) 13:53:31
>>985
だけど C にも C++ にも C# にも Java にもある ++ は前置と後置で意味が違うんだ。
シンタックスシュガーでもそこをちゃんとエミュレートしないと別の文句が湧くだけだぞ。

989 :デフォルトの名無しさん:2008/10/11(土) 13:55:52
>>987
++を最初に導入したきっかけはそうかもしれないが、今日まで使われている理由がそれだけなはずないじゃん

990 :デフォルトの名無しさん:2008/10/11(土) 13:56:18
i++ はあるのに ++i が無いなんてビックリ! こうですね

991 :987:2008/10/11(土) 14:12:18
>>989
うん、記述に便利という面もあるから、問題がないなら導入してもいいと思う。

でも、このスレの惨状を見る限り、Rubyの言語仕様と++演算子とをうまく
すり合わせるのは一筋縄ではいかないみたいだから、それなら無理すること
ないでしょ、と。

RubyとCじゃ変数の概念からして違うわけだし、困難なのは当然じゃないかと…。

992 :デフォルトの名無しさん:2008/10/11(土) 14:18:24
perlに++があると言う時点で反論は無意味です。
おとなしく降参しなさい。

993 :デフォルトの名無しさん:2008/10/11(土) 14:39:02
>>991
オブジェクトの改変ではなく変数の再代入なら、辻褄の合うように導入するのは、ちょっとパーサの挙動いじるだけだと思うけど。
前置と後置で返り値をわけるのも難しい話ではない

994 :デフォルトの名無しさん:2008/10/11(土) 14:58:07
C#はoperator++をオーバーロードできるよ。
前置か後置かによって、呼び出され方が異なる。

995 :デフォルトの名無しさん:2008/10/11(土) 15:36:01
>992
Pythonにはありません。

996 :デフォルトの名無しさん:2008/10/11(土) 15:53:49
よし、肯定派と否定派の仲をとりもつ折衷案を提案してやろう。

++ を導入するのは難しいが、肯定派の気持ちも汲んで、
Ruby 1.9 の別名は 「Ruby++」 にする。

これでどうだ!

997 :デフォルトの名無しさん:2008/10/11(土) 15:59:14
もうPerl++++でいいじゃん

998 :デフォルトの名無しさん:2008/10/11(土) 15:59:48
Perl--だろ

999 :デフォルトの名無しさん:2008/10/11(土) 16:03:46
おまえら,そんなことより次スレどうすんだよ


1000 :デフォルトの名無しさん:2008/10/11(土) 16:12:02
次スレ

Rubyについて Part 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/

1000で次スレってどうよ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

225 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)