1 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 18:43:28 ] 前スレ 【Perl,PHP】LLバトルロワイヤル【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1188997302/
52 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 02:17:33 ] 百五十六之助
53 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 02:56:02 ] >>50 3時間たってお前のセンスがやっと理解できた
54 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 04:37:48 ] 1hyde=156cmは有名だろ
55 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 09:26:43 ] ttp://jp.techcrunch.com/archives/20080501twitter-said-to-be-abandoning-ruby-on-rails/ Rubyって遅くて実用にならないんですね。
56 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:30:46 ] そりゃそうだ 処理が遅くても問題ない場合にRubyを使う コンマ1秒遅れたら数百万吹っ飛ぶとか言う用途にRubyを使うのはただの馬鹿 あと >>55 Evan Williams: “FWIW: Twitter currently has no plans to abandon RoR. Lots of our code is not in RoR, already, though. Maybe that's why people are confused.” ちなみにオリジナルの投稿は今Twitterサーバが500エラー返すので読めない(w
57 名前:デフォルトの名無しさん [2008/05/03(土) 23:30:59 ] 価値があるのは需要があるるもの なのでPHPでFA 趣味なら好きなの使え
58 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:54:00 ] しかし需要があっても価値があるとは限らないのが難しいところだ。
59 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:42:40 ] 言語オタが求めるものとドカタプログラマが求めるものは根本的に違うからな
60 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 02:20:37 ] RoRなんかをドカタ仕事に使うからハマるんだよ。
61 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 08:49:53 ] rubyもセンスねーけどな。 構文的にメソッドのネストを許してたり、馬鹿みたいな部分がけっこうあるぞ。
62 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 12:06:48 ] >>61 >メソッドのネストを許してたり ネストなんてしてませんよ そのクラスに普通に定義されるだけです
63 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 12:59:23 ] >61 > 構文的にメソッドのネストを許してたり 他の言語も弄るせいか、algol系のつもりでネストして書いたら 挙動にびびったりけっこう今でもハマるわ。 別にネスト自体はいいんだよ。
64 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 14:02:50 ] ruby触ったことないんだけど、メソッドのネストって何か問題あるの? それともRubyの実装に落とし穴があるだけ?
65 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 14:20:17 ] モンキーパッチって名前はかっこいいよな。
66 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 15:00:00 ] ネストを許すなら直感的にはAlgolやSchemeのようなセマンティックで あってほしい。Rubyのネストしたdefのセマンティックは変態的。あんな セマンティックなら禁止してくれたほうがまし。 という意味で、禁止しないのはどうかと俺は思う。
67 名前:64 mailto:sage [2008/05/04(日) 15:34:27 ] ああなるほど、 メソッド内にメソッドの定義があると、そこを実行した時点で、 そのインスタンスのメソッドとして追加されるわけか。 こりゃ気持ち悪いな。
68 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:30:32 ] 関数内に関数を定義するとどうなるの?
69 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:35:57 ] >>68 「名前空間」でぐぐれ
70 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:43:46 ] >>68 「クロージャ」でぐぐれ
71 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:01:22 ] >>68 Rubyの、それともその他の? Usenix88-lexic.pdf が古いが実装のしかたがよくわかる良文献。 最近 C++ にそういう仕様ができるとかいう話があるが追いかけてない。
72 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:04:34 ] >>71 Rubyの
73 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:11:16 ] メソッド内にメソッド定義があると、 外側のメソッドが呼び出されて、 内側のメソッド定義が実行された時はじめて、 内側のメソッドが定義される。
74 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:33:22 ] >73 なにそのクソ仕様。
75 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:36:40 ] Ruby 知らんけど、実行時に動的にメソッドを追加する為の機構なんじゃないの
76 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:41:12 ] >>75 それならそれで、Compilerクラスを用意するなど、他にやりようがある。 コンパイル時のメソッド定義と同じシンタックスなんて狂気の沙汰。
77 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:58:44 ] つーか動的追加は既にModuleかどこかのメソッドにあるハズ。
78 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 19:04:30 ] まあ、ネストメソッドはメソッドスコープのメソッドだと予想するよなあ。 Rubyはとことん斜め上をいくって言うか・。
79 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:00:32 ] def 〜; end がメソッド定義文という、 中身が実行されない、それ自体は実行される文である、 とわかればどうってことない。
80 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:30:12 ] メソッドと関数の区別がついてない人がそれで納得できないから文句言ってるだけ
81 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:34:36 ] 関数はどうやって定義するの?
82 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:49:55 ] それがメソッドなのか関数なのかは、言語設計者の感覚次第だな。
83 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:49:58 ] >>79-80 いや、だからさ、実行コンテキストが外側のメソッドにある間にだけ有効な メソッドが定義されると考えるのが自然じゃない?って話なんだけど。
84 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:50:43 ] >>79 とりあえず>>76 を読め。
85 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:51:35 ] どっちを自然と考えるかは、言語使用者の感覚次第だな。
86 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:02:53 ] まあ、百害あって一利無しな言語仕様であることは間違いない。
87 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:16:51 ] >>86 それを「自然」と考えてしまうカルト信者の悲しい性
88 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:19:31 ] >>86 何か害があるの?
89 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:20:54 ] 動的メソッド定義なら他にいくらでも作りようがあるのに、 ネストしたメソッドなんて、そんな紛らわしい方法を取る理由は何なんだろう。
90 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:23:12 ] 文字列を用意してからコンパイルするのダルかったとか。
91 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:23:14 ] 言語仕様として明らかに冗長だな。センスがない。
92 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:24:31 ] 中間コードにdef〜end間の文字列がそのまま保存されてそうだな(w
93 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:27:27 ] >>90 文字列からコンパイルしなくたって、無名メソッドを定義する構文を用意すればいいだけ。 クロージャのようにね。静的なメソッドと同じ構文要素を使うなんて、どうかしてる。
94 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:30:20 ] Rubyのパーサーはカオスだから
95 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:30:28 ] 通常のメソッドと同じ構文だと、どう困るの?
96 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:31:46 ] とにかく感覚の違いということにしたい感がひしひしと伝わってくる
97 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:34:00 ] 誰でも当然と考えることを、当然と考えられない感覚があることは理解できる
98 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:35:39 ] >>97 矛盾してるよ
99 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:36:54 ] >>95 メソッド定義の構文にしないで、メソッド本体の定義にしておけば、 他クラスのメソッドを定義したり、同じ本体を名前をかえて定義したりできるだろ。 静的メソッド定義の構文を使うことで、静的メソッドだから当然だった制約を 動的メソッド定義にまで持ち込んでしまっているんだよ。
100 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:39:21 ] >>77 によれば動的にメソッドを追加する機能は既に別にあるらしいよ。
101 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:47:24 ] どっちが先かわからないけどツギハギ感が否めないな
102 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:48:56 ] こんなクソ言語を喜んで使う奴は相当のMだな
103 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:49:51 ] >>92 それは普通じゃないの
104 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:50:54 ] >>103 麦茶吹いた(wwwww
105 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:54:46 ] きたないやつだなあ ほかにどうせいっつーねん
106 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:55:27 ] >>81 Rubyに厳密な意味で関数の動作をするものはない というか>>79 以上のものではないな 「メソッド内スコープのメソッド」を作りたい場合はRubyではProcを使う
107 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:56:43 ] >>105 あんな変なことする必要のない言語仕様にすればいい
108 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:58:49 ] >>107 >>105 は「コンパイル時点で評価出来ないコード辺を 文字列で保持しておく以外にどうするのか」という意味ね。
109 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:01:06 ] >>108 ×評価出来ない ○面倒で評価してない
110 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:01:11 ] クロージャってコード片をそのまま中間コードが保持するものなのか?そんな話聞いたことないけど。
111 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:02:31 ] >>110 何でクロージャ?
112 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:03:15 ] >>110 普通は中間コードにコンパイルしたものを保持するな。
113 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:03:39 ] >>106 1, 「メソッド内スコープのメソッド」が作りたければ普通はメソッド内でdefを使う 2, メソッド内ではエラー無くdefが使える 3, しかし、それで定義されたメソッドは動的に追加される。しかもそれはメソッド内メソッドとはならない この仕様をもって「百害あって一利なし」と言っているのでは? > 「メソッド内スコープのメソッド」を作りたい場合はRubyではProcを使う こんなこと、普通の人は知りません。直感的でもありません。
114 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:05:04 ] >>106 Procでつくれるのは関数であってメソッドではない。
115 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:05:47 ] まあぶっちゃけProc自体呪われた仕様なんだけどね
116 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:06:01 ] >>106 メソッドと関数の区別ぐらいつけてくれよ。
117 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:07:42 ] メソッドと関数って言語によって意味が変わるからなぁ、Rubyはどうなの?
118 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:11:28 ] >>113 >1, 「メソッド内スコープのメソッド」が作りたければ普通はメソッド内でdefを使う 結局はこれが思い込みだっただけでしょ
119 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:13:19 ] メソッドも関数も無名関数もクロージャも区別無いJSって分かりやすい仕様だと思う。
120 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:13:21 ] しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし なにか別の問題があるっぽい書き込みがあるな
121 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:15:15 ] >>119 とても良い言語なのにスクリプト用途では流行らないよね
122 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:16:36 ] メソッド内スコープのメソッドって他の言語では一般的なの? メソッドの意味を考えると、たぶん関数とか手続きで解決することだと思うんだけど
123 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:16:44 ] とある言語ではメソッドと関数の違いは値を返すか返さないかの違いだったりするし
124 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:17:36 ] >>114 >Procでつくれるのは関数であってメソッドではない。 これは何か問題があるの?
125 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:17:36 ] モジュールも名前空間もない言語はまともな開発には使えないよね。
126 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:18:55 ] Rubyにおける関数とメソッドの違いって何よ?
127 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:38 ] >>118 直感的な思い込みと実装をなるべく一致させるのが、良いLLなんでないの? いや、「Rubyは玄人専用」というなら何も言うことは無いけど >>120 ttp://d.hatena.ne.jp/ha-tan/20071031/1193883317 こんなのとか >>122 一般的とか言いがたいかも。 ただ使えない場合、普通は「禁止」される。
128 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:45 ] >>126 作者の気分次第で決まる
129 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:19:55 ] >>120 >しかしProcは関数を作るものであって「メソッド内スコープのメソッド」で使うものではないっぽいし これは何か問題があるの?
130 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:21:18 ] >>127 間違った思い込みを押し付けるユーザは良いユーザですか?
131 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:16 ] >>124 とりあえず、>>99 を読んでわからなければ君にはセンスがないということ。
132 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:42 ] Procは仕様がコロコロかわるから怖くて使えないんだよ。
133 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:22:53 ] センスw
134 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:23:35 ] 批判してる側に根拠が希薄だと議論がグダグダになる良い例だな
135 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:23:52 ] いろんな意味でmatzにセンスがないのは疑いようがないんだが
136 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:24:05 ] ruby厨って実在するんだな。恐るべき視野の狭さだ。
137 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:25:02 ] 論理的な説明は諦めたのか?
138 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:25:39 ] 所詮カルト言語。
139 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:26:12 ] >>133 結局、君は>>80 が言うところのメソッドと関数の区別がついていない人のようだね。
140 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:26:27 ] >>116 >メソッドと関数の区別ぐらいつけてくれよ。 >>116 的にはメソッドと関数はどう違うんだ?
141 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:27 ] ところでmatzは関数とメソッドを明確に区別してたの?
142 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:34 ] Rubyのdefのネストの問題点に関する論理的な説明なら>>99 でも十分だろう。 実際>>99 への有効な反論も見あたらないし。
143 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:27:39 ] >>139 たった4文字からそこまで読み取れちゃうなんてお前最高だなw
144 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:28:32 ] >>142 >>100
145 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:29:44 ] >>144 そこはあるらしいじゃなくて具体的に書かないと話が進まないだろ
146 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:30:24 ] >>140 例えば、メッセージレシーバが違うな。
147 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:21 ] しかしこのスレはRubyが絡むとすごく伸びるなw
148 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:35 ] >>144 別の機構が用意されているということは、 defのネストが無駄なシンタックスであることの もう1つの理由になるわけだが、 それがどうかしたのか?
149 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:31:41 ] そもそも>>99 の指摘自体がピントがずれてる
150 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:32:19 ] >>149 どうずれている?具体的に。
151 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:32:49 ] >>148 ネストしたメソッド定義用にdefを新設したならその通り でも現実は異なる
152 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:34:00 ] >>151 具体的に。なぜわざわざdefのネストを許すのか、その理由を示せ。