Rubyについて Part 31 ..
[2ch|▼Menu]
233:デフォルトの名無しさん
08/04/09 20:55:18
devよりcoreのほうがいまは流量多いんじゃないの?


234:デフォルトの名無しさん
08/04/11 13:58:48
ruby 1.9.0 (2008-03-01 revision 15664) [i386-mingw32] なんですが(ruby 1.9.0-1)

sjisのパスを File.dirnameに渡すと ASCII-8BITで返ってきてそのあとで、別のファイル名と連結するとエラーになるんですけど
ruby -e "dir = File.dirname('ふー/ばー');newfile = File.join(dir, 'ほげ')"
-e:1:in `join': append incompatible encoding strings: ASCII-8BIT and Windows-31J (ArgumentError)

うーむ


235:デフォルトの名無しさん
08/04/11 17:45:33
そうかそうか

236:デフォルトの名無しさん
08/04/12 16:06:10
ファイルシステムが返す文字列の円コーディングをどうするべきかは未検討だね。
Encoding.default_externalでいいのかなぁ。

237:デフォルトの名無しさん
08/04/12 16:12:07
ポータビリティとかどうでもいいんで
Windowsでまともに動くようにしてください><

238:デフォルトの名無しさん
08/04/12 17:20:51
ポータビリティがどうでもいいからWindows放置してるんじゃね。


239:デフォルトの名無しさん
08/04/12 17:31:41
>>236
dirnameについては内部で閉じてるから、default_externalは関係ないと思う。
expand_pathとかglobについては同意。

240:デフォルトの名無しさん
08/04/12 17:56:43
>>238
うむ

241:デフォルトの名無しさん
08/04/12 18:05:39
Scalaスレに突撃してるバカをどうにかしろ

242:デフォルトの名無しさん
08/04/12 18:06:22
なんという援軍要請

243:デフォルトの名無しさん
08/04/12 18:20:05
>>241
君は犯罪を犯す日本人個人を日本人としてどうにかできるというのかね

244:デフォルトの名無しさん
08/04/12 18:26:55
>>243
詭弁はいいから

245:デフォルトの名無しさん
08/04/12 18:50:53
>>243が詭弁なら>>241は無理難題のふっかけだな
あらゆるものがコントロール可能という妄想は病気だぞ

246:デフォルトの名無しさん
08/04/12 19:13:43
プログラマの人に多いよね
>>241がプログラマであるということを保証しないので注意

247:デフォルトの名無しさん
08/04/12 19:25:33
でも、俺の中の典型的なRubyistは、
いつも他言語スレに凸しては何らかの火種を撒いている感があるな。
しかも、開発の中心に近ければ近いほど、やばげなイメージがある。

248:デフォルトの名無しさん
08/04/12 19:28:35
じゃあその理屈ならMLにも大量生息してるはずだよね


…ああ、稀にいるか、いるな

249:デフォルトの名無しさん
08/04/12 19:38:51
Matzがあんなんだからなあ

250:デフォルトの名無しさん
08/04/12 20:01:05
>>245
せめてコントロール可能なものはコントロールしろという話だよ。
ほんとRuby信者は屁理屈で逃げ回ることと人格攻撃だけは得意だな。

251:デフォルトの名無しさん
08/04/12 20:03:50
つまんねーこと言ってないでさっさとマニュアル書けよ

252:デフォルトの名無しさん
08/04/12 20:22:13
>>251
それをScaleスレのバカに言ってくれ

253:デフォルトの名無しさん
08/04/12 21:48:09
>241 がコントロール可能って言ってるの? >250はどこかの世界の神さま?

254:デフォルトの名無しさん
08/04/12 21:49:19
自分で言えばいいじゃん、どうせみんなIDも無いし名前も同じなんだから。

255:デフォルトの名無しさん
08/04/12 22:06:56
Scaleスレのバカに対して -> 「バカはコントロール不可能」
Rubyスレのアンチに対して -> 「つまんねーこと言ってないでさっさとマニュアル書け」

大事なのはアンチもコントロール不可能ってところだな

>>254
いや、君に命令される筋合いは無いから^^

256:デフォルトの名無しさん
08/04/12 22:14:59
ScaleじゃなくてScalaな

257:デフォルトの名無しさん
08/04/12 22:19:39
二回間違えたところを確認してから指摘するあたり実にエロい

258:デフォルトの名無しさん
08/04/12 22:20:17
Pythonスレに突撃してるバカも回収してくれないだろうか

259:デフォルトの名無しさん
08/04/12 22:21:19
>>247おまえバカか?全部アンチの陰謀にきまってんだろ。

260:デフォルトの名無しさん
08/04/12 22:21:37
あれはRuby厨を装った暇人

261:デフォルトの名無しさん
08/04/12 22:22:08
1回だと typo かもしれないからな。

262:デフォルトの名無しさん
08/04/12 22:22:56
>>259
都合の悪いことは全部アンチのせいだと言わんばかりだな

263:デフォルトの名無しさん
08/04/12 22:27:30
いい加減まとめてアンチスレ行ってくれない?

264:デフォルトの名無しさん
08/04/12 22:36:33
いやだから、コントロール不可能なんだろ?

265:デフォルトの名無しさん
08/04/12 22:39:20
>>259
matzを見ている限り、それはありえない

266:デフォルトの名無しさん
08/04/12 22:41:12
matzがバカやらかしたのを取り巻きが必死でフォローしてる感じだけどw

267:デフォルトの名無しさん
08/04/12 22:47:46
>>266
1.今回の1件を見てても分かるように、matz以外にもバカがいる
2.鬼車の1件を見てても分かるように、matzをまともにフォローできてない
3.っていうか、matz以外にもめちゃくちゃ言ってる奴はいた
  (あえて個人名はださんけど、出せというなら出すぞ)

268:デフォルトの名無しさん
08/04/12 23:12:01
最近本家RUBYよりも速いと言われるRUBYがいろんなところで作られているけど本当なの?
1.9に期待するよりもそっちの開発の方に注目しておいた方がいいのかな。

269:デフォルトの名無しさん
08/04/12 23:26:48
>>268
Rubyの文法自体は基本的に変化しないんで、
ユーザーとしてはそのときの主流のを使えばいい
それ以上でもそれ以下でもないな

270:デフォルトの名無しさん
08/04/12 23:39:26
Matzが仕様を定めないのも
> 最近本家RUBYよりも速いと言われるRUBYがいろんなところで作られているけど本当なの?
ここらへんの事情も影響してるのかも、なんて思ったり

271:デフォルトの名無しさん
08/04/13 03:23:42
Matzの把握していないYARVが組み込まれた事で、
MatzはCRubyの言語メンテを自由にする事が出来なくなった。
1.9の更新が滞ってる理由。

272:デフォルトの名無しさん
08/04/13 12:01:10
>>267
>あえて個人名はださんけど、出せというなら出すぞ

教えてくれ

273:デフォルトの名無しさん
08/04/13 12:04:27
個人攻撃するならテメェも名前出してやれよよw

274:デフォルトの名無しさん
08/04/13 12:07:49
>>269
今は本家よりも速いことがあるってだけで互換性も薄いしな
もし互換性完全でなおかつどう使っても高速だというバリエーションが出たなら普通に乗り換えればいい
そんだけ
感覚としてはWindowsで動作するRubyの乗り換えに近い

275:相原雄二
08/04/13 14:16:26
>>273
これでいいですか、>>272さんお願いします。

276:デフォルトの名無しさん
08/04/13 14:26:28
>>273
しかし速くてOSと親和性のあるRubyは魅力的だな。
あとちゃんとスレッドが実装されたら飛びつくかも。

277:デフォルトの名無しさん
08/04/13 18:23:29
元の処理系にもyarvにも特にこだわりは無くて
もっと良い処理系が出たら(matzが気に入れば)本家にも取り入れる、とか言ってなかったっけ

278:デフォルトの名無しさん
08/04/13 19:18:51
もうRubiniusに丸投げしちゃえよ。
きっと、向こうの方がいい開発コミュニティ作ってくれるよ。

279:デフォルトの名無しさん
08/04/16 08:51:21
Ruby 1.8.7-preview1 アゲ

280:デフォルトの名無しさん
08/04/16 09:00:26
URLリンク(svn.ruby-lang.org)

281:デフォルトの名無しさん
08/04/18 23:43:45
浅いコピー -> 値を渡す
深いコピー -> ポインターを渡す
のように理解してコーディングしておりましたが、
Array.new はときおり、コピー元に影響をあたえますな
test.rb でよくても、ほんちゃんでコケるのが困る
オイラがバカなだけなのかな

282:デフォルトの名無しさん
08/04/19 00:09:52
>281
それ、深いと浅いが逆なよーな。

283:デフォルトの名無しさん
08/04/19 00:11:49
要素のobject_idを確認してみよう。


284:デフォルトの名無しさん
08/04/19 02:27:13
pythonのスレの方が伸びてるな

285:281
08/04/19 21:01:30
>>282
と、おいらも最初は思っておりました。

a = [1,2,3]
b = a
b[0] = 99
p a
p b



a = [1,2,3]
b = a.dup
b[0] = 99
p a
p b



286:281
08/04/19 21:02:10
を実行してみて
はじめの奴は、b への代入は a に影響するし、あとのは影響なし。
マニュアルで、dup と Array.new は、浅いコピーと、表現されているので、
言われてみると、そんな表現もありかと。

とりあえず

def copy2(data)
d = (0 ... data.size).map do |i|
(0 ... data[i].size).map do |j|
data[i][j]
end
end
return d
end

で乗り切っているので良しとしてます
他に心配せにゃならんことが多いし。
あ、こっちは Ruby と関係ないところなんで、ここでは発表しません。


287:281
08/04/19 21:03:42
>>283
今夜はつらいので、明日勉強してみます。
どうもありがとう。

288:デフォルトの名無しさん
08/04/19 22:03:57
値/参照
変数/オブジェクト
コピー(代入)
って何となくつまづかない割に重要で、なのに理解してない人ってよく見かけるんだけど
簡潔にまとめた記事ってないもんかね

289:デフォルトの名無しさん
08/04/19 22:54:23
ところで Array.new でどうやってコピーするんだ

290:デフォルトの名無しさん
08/04/19 22:58:22
Array.new([1,2,3])

291:デフォルトの名無しさん
08/04/20 18:55:32
>>281
引数の渡し方と、シャローコピー・ディープコピーの概念は、
切り離して理解すべきだと思う。

292:デフォルトの名無しさん
08/04/20 20:35:57
p Array.new(3) {
  [1, 2, 3]
} #=> [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
p Array.new(3) do
  [1, 2, 3]
end #=> [nil, nil, nil]

両方とも同じ結果になると思ったのですが,なりませんでした.
なぜでしょうか?

どっちも同じかと思っていたのですが,do ... endと,{ ... }は違うのでしょうか?
do ... end が使える場所では常に{ ... }が使えるが,その逆は成立しない
などの使える広さがあるのですか?
もしそうならば違いを詳しく教えてください

293:デフォルトの名無しさん
08/04/20 20:49:52
p の括弧省略すんなよ

294:デフォルトの名無しさん
08/04/23 01:23:57
次のるびまはいつの予定?
もし記事を書くなら締め切りはいつ?

295:デフォルトの名無しさん
08/04/23 12:17:34
編集部のメールアドレスにメール投げて聞いたら?

296:デフォルトの名無しさん
08/04/26 14:07:36
Tibet.Free!

Free(Tibet)
の違いがわかりません><

297:デフォルトの名無しさん
08/04/26 14:56:16
オブジェクト指向なんだからselfがなんなのかを考えるだ。

上はTibetクラスの宣言、下は実行主体は人民Free軍だな。

298:デフォルトの名無しさん
08/04/26 19:33:45
>>296
上はチベットの人による解放運動だな
下は他国が大騒ぎ

299:デフォルトの名無しさん
08/04/27 23:02:38
>>292
{〜} と do 〜 end では結合強度が違うので
メソッドのカッコ省略で解釈が変わる
前者は
p( Array.new(3) {
  [1, 2, 3]
} )
と同じで、後者は
p( Array.new(3) ) do
  [1, 2, 3]
end
と同じであり
pメソッドにブロックを渡しているが、使われることなく無視されている

マニュアルの「メソッド呼び出し ブロック付きメソッド呼び出し」の項に書いてある


300:デフォルトの名無しさん
08/04/28 01:50:58
ところでお前らruby kaigiはつくば周辺で宿取るの?
なんであんな辺境の地でやるんだよ。。。

301:デフォルトの名無しさん
08/04/28 02:40:19
TX使えばまあ何とか

302:デフォルトの名無しさん
08/04/28 03:03:31
まつもと氏が筑波大を出てるからとか?

303:デフォルトの名無しさん
08/04/28 05:54:47
単に安く貸してくれるからじゃないの。

304:デフォルトの名無しさん
08/04/29 00:16:59
筑波は日本のマサチューセッツ(笑)ですからwww

あ、何か本家まで「マサ厨摂津」って関西圏みたく見えてちまった……

305:デフォルトの名無しさん
08/04/29 01:52:34
>>304
茨城と茨木とかな。

306:デフォルトの名無しさん
08/04/29 11:56:37
日本のMITは武蔵野...

307:デフォルトの名無しさん
08/04/29 12:28:50
>RubyKaigi 2008はつくば
>熱意で参加者をフィルタリングするため
>木更津案もあった。木更津フィルタ
URLリンク(d.hatena.ne.jp)



そのうち「Ruby会議201xに参加希望の皆さんはこちらの壷をお買い求めください。」
とか言い出したりしてw

308:デフォルトの名無しさん
08/04/29 20:11:27
>>306 都市大学おつ

309:デフォルトの名無しさん
08/04/30 07:55:13
あの辺って手頃な宿ある?
会場のとこは高そうだし、あんまり離れてるのも面倒だし。

310:デフォルトの名無しさん
08/05/01 08:12:21
Yahoo!ビジネストラベル - 茨城県のビジネスホテル 地図(エリア)から探す
URLリンク(biz.travel.yahoo.co.jp)

【楽天トラベル】茨城県 つくば・土浦・笠間・結城 ホテル・旅館一覧
URLリンク(travel.rakuten.co.jp)

産総研 - アクセスマップ:つくばセンター
URLリンク(www.aist.go.jp)

時刻表−つくば駅(つくばセンター)・土曜休日用
URLリンク(i-bus.web.infoseek.co.jp)

つくば・土浦・牛久へのアクセス(鉄道・高速バス)
URLリンク(yorunokokucha.web.fc2.com)

311:デフォルトの名無しさん
08/05/02 10:57:06
TwitterがRuby on Railsを止めて、PHPかJavaでシステムを作り直すらしいね。

312:デフォルトの名無しさん
08/05/02 15:42:33
TechCrunch Japanese アーカイブ ? Twitter、Ruby on Railsを放棄か
URLリンク(b.hatena.ne.jp)

313:デフォルトの名無しさん
08/05/02 19:43:24
なんだ、TechCrunchのとばしか

314:デフォルトの名無しさん
08/05/03 08:11:35
まあ、でももともとスクリプト言語ってそういう役割なんじゃね?
てっとり速くプロトタイプを作るためにあるんだし。最初からPHP/Javaで作ってたら
そもそもTwitterが出来てたかどうかわからんわけだ。

ただ、Railsのスケーラブルしない部分ってのはDBまわりな印象があるから
PHP/Javaに移植したとしても、コストがかかる割にそんなに変わんねえんじゃね
って気がするなあ。

315:デフォルトの名無しさん
08/05/03 11:03:57
技術的なことはよくわからないんだけど、
Rubyを10倍高速にしたら解決するんじゃね。

316:デフォルトの名無しさん
08/05/03 12:45:07
TwitterはRailsを捨てません
URLリンク(builder.japan.zdnet.com)

捨てるつもりはないが多くの部分がRailsではなくなってきた、
って結果的に捨てつつあるよな

317:デフォルトの名無しさん
08/05/03 13:51:12
>>315
2刀流にして2倍ジャンプして3倍回転すれば、それだけで12倍だからな。楽勝だな。

318:デフォルトの名無しさん
08/05/03 14:42:21
>>317
それなんて超人理論

319:デフォルトの名無しさん
08/05/03 15:06:35
二刀流はともかく2倍ジャンプと3倍回転は元からそれだけのパワーを持ってたってことだよな

320:デフォルトの名無しさん
08/05/03 18:26:32
1.9はYARVで50倍速くなっているから、1.9にすればいいな

321:デフォルトの名無しさん
08/05/03 21:19:57
>>320
最近のrubyistは「アムダールの法則」も知らんかorz

322:デフォルトの名無しさん
08/05/03 21:34:53
(´・ω・`)知らんがな

323:デフォルトの名無しさん
08/05/03 22:03:20
アムダールの法則という名前では知らない可能性が高い
「1割しか使われない部分を10倍高速化しても全体としてはたいして速くならん」
ということだと説明されれば結構な人が知ってる
計算式まで知ってる人はいないけどな

324:デフォルトの名無しさん
08/05/03 22:05:45
そもそもマジレスしてるのがおかしい

325:デフォルトの名無しさん
08/05/03 22:10:47
あれだろ、どんなルビ厨は90%は屑ってやつだろ

326:デフォルトの名無しさん
08/05/03 22:12:42
とはいえ時々素で思ってるっぽい人がいるのも事実
・YARVでRubyは非常に速くなる
・Ruby1.9がRuby2.0になる
この誤解はかなり多い

327:デフォルトの名無しさん
08/05/03 22:45:03
> ・Ruby1.9がRuby2.0になる
なにこれ?
初めて聞いたぞ。

328:デフォルトの名無しさん
08/05/03 23:20:09
>>321
湿原の保存に関する国際条約がなんでRubyに関係あるんだよ。

329:デフォルトの名無しさん
08/05/03 23:51:02
>328
はいはいラムサールラムサール

330:デフォルトの名無しさん
08/05/04 02:34:19
コーシー・アダマールの法則

331:デフォルトの名無しさん
08/05/04 14:53:13
>>323
そういえば1.9ではネイティブスレッドに対応できたんだっけ?
これできなくちゃあ高速化したくても大したことできん。

332:デフォルトの名無しさん
08/05/04 15:07:44
ビルド時のオプションによる

333:デフォルトの名無しさん
08/05/04 22:46:19
ジャイアントロックなのでそう速くはならないんじゃない


334:デフォルトの名無しさん
08/05/05 00:16:46
それよりは、Copy on WriteフレンドリーなGC採用でforkしまくる方が、実質的な効率が良さげな気がする。

335:デフォルトの名無しさん
08/05/05 00:50:14
refe2になって、ロケールでよきように取り計らってくれるようになったのは
ありがたい。

まあ、ソースをちょっと書き換えりゃいいだけだったんだけど。

336:デフォルトの名無しさん
08/05/05 01:17:39
2.0の計画は今のところnamed argumentやGCへの変更とかが入るって以上は特に決まってなかったような

337:デフォルトの名無しさん
08/05/05 02:53:11
何をするかにもよるけどforkするとプロセス間の通信が面倒そうだなあ

338:デフォルトの名無しさん
08/05/05 16:39:47
MVMって2.0?

339:デフォルトの名無しさん
08/05/05 22:12:29
Lightweightと呼ぶにはリソース食いすぎると思う。

340:デフォルトの名無しさん
08/05/05 22:30:21
Light-weightには使用リソースが少ないなどという意味は込められてない

341:デフォルトの名無しさん
08/05/06 01:54:35
リソース食わないLLが使いたければForthにするのが良いと;思う。 >339

342:デフォルトの名無しさん
08/05/06 01:56:12
いやこめられてるだろう

343:デフォルトの名無しさん
08/05/06 11:22:09
>>339
「Lightweight」ってプログラマの負担のことだろ?
アイデアを実装する負担が少なければ、あれこれ試す余裕が出来る。
リソースが少ないだけならアセンブラ。

344:デフォルトの名無しさん
08/05/06 11:27:11
最終的にパフォーマンスチューニングに手間を割かざるを得ないRubyはLLとは言いがたい

345:デフォルトの名無しさん
08/05/06 11:55:35
>>344
ハイパフォーマンスが必須な案件で使える、チューニング不要の言語があったっけ?
言語の問題ではない場合でも、ハード、OS、ミドルウェアに手を入れるよりも
コーディングで回避した方がローコストな場面によく出くわしたが。

346:デフォルトの名無しさん
08/05/06 13:15:36
>>345
記憶が確かならLLという区分はプロトタイピングの道具として
注目されたことに起源があるから
パフォーマンスが必要ならより速い言語(主にC/C++)で書き換えろ
というのが共通した答えになると思う。

それ以前に抽象的なパフォーマンス論議は全く意味が無いと思うのだが。

347:デフォルトの名無しさん
08/05/06 13:40:26
>>346
「パフォーマンス」の意味を実行速度(ある変数を1から10^10までカウントupなど)
に限るなら、論議の成果も限られたものになると思う。

実際の開発収支への影響を無視出来ない要因は、実行速度以外にも、
言語習得コスト、アイデア実装の容易性、他システムとの整合性などあるから
確かに、前提条件抜きでの「xxx言語のパフォーマンス」は無意味だけど。

> パフォーマンスが必要ならより速い言語(主にC/C++)で書き換えろ
> というのが共通した答えになると思う。
もしくは最近の実装に多い、Cソース生成機能を使うかだよな。
Schemeではそういうのを見るけど、Rubyではどうなんだろ?

348:デフォルトの名無しさん
08/05/06 13:43:13
ようするにプロトタイピングツールで実運用する奴はアフォってことですね。

349:デフォルトの名無しさん
08/05/06 14:55:54
>>348
否定をする理由はない
パフォーマンスと規模とコストを無視してRuby(特にRoR)に固執し続けるのはバカ
Twitterのような部分置き換えはRuby視点としては卒業生輩出ってことで喜ぶべきだと思うぜ

350:デフォルトの名無しさん
08/05/06 14:58:05
楽天の例が絶対言われると思うが、アレは言語開発者引き込んでるから少し特殊だ
もしまつもとゆきひろがいなかったら指差して笑っていいと思う

351:デフォルトの名無しさん
08/05/06 15:36:08
とっくに指さして笑ってるけど?

352:デフォルトの名無しさん
08/05/06 16:41:17
>>348
LLとして確立する際に、
プロトタイプでも十分使えるならそのまま実運用したら安く上がる、
もし使えなくてもプロトタイプがあれば始めから書くより早い、
という主張がついてきたと記憶している。

いずれにしても道具をきちんと理解して使いこなせない奴は
アフォということに変わりはない。

353:デフォルトの名無しさん
08/05/06 18:24:18
GW明けからRoRでプロトタイピングするおいらがやってきましたよっと。
てか、Rubyって使ったこと無いからとりあえずググったらここを見つけたんですけどwwですけどww
情報すくねーww集積されてねーーwwwうぇうぇw
おれ涙目RoR

プロトタイプの理由
・動いてるの見なきゃ分かんない人がいるから
・見積もり?そんなの後でいいからとりあえず作れ
・ものが良ければ後で人突っ込んでやっからwww

RoR(Ruby)の理由
・社内にノウハウなっしんぐ!俺も経験なっしんぐ!
・ノウハウげっとで会社もハッピーおれもハッピー
・なんか短期間でできるって噂じゃん?

354:デフォルトの名無しさん
08/05/06 18:29:54
Ruby慣れしてない……御愁傷様
RoRの理由とやらはRuby慣れしてなきゃ全部幻想だ
使っていくうちの細部については、結局RoR自体のソース追う人も多いんじゃねえかな。

とりあえずノウハウ本経費で落として凌げ

355:デフォルトの名無しさん
08/05/06 18:32:07
>>353
Ruby使ったことさえ無いのに「RoRでプロトタイピングする」と決めてしまうのは無謀だと思うが
とりあえずやる気なら、web上で情報探すより本読んだ方がいいと思う

356:デフォルトの名無しさん
08/05/06 19:34:21
なんというデスマーチ予備軍

357:デフォルトの名無しさん
08/05/06 20:08:13
Rubyをシュミや俺ツールで使ってた人が「うおー仕事でも使い物になるー」と喜んだのがRoR
少なくともRubyをシュミや俺ツールで使えるようなレベルの人向けだな
半年か1年くらいかけてRubyをそこそこ習得後に始めたなら、そりゃプロトタイプとしての生産性は高いかもしれん

個人的には自分が今使える言語でプロトタイピングを学んだほうが全員幸せになれると思う
仕事として新たにRubyを学ぼうというのは現状無謀というかある意味馬鹿

358:デフォルトの名無しさん
08/05/06 20:11:42
RubyってJavaと同程度には敷居高いよね

359:353
08/05/06 20:17:58
RoRでプロトタイピングってのは政治レイヤーで決まったこと。
あれだね、RoR使えば超早くできるって刷り込まれてるんだろうね。
まぁ、おいらっち多言語プレイヤーだから初めての言語でもモウマンタイ。

>>353で言いたいのは、プロトタイプの名のもとにスケーリング無視無視でとりあえずやっちゃえーって事もあるってこと

360:デフォルトの名無しさん
08/05/07 01:31:05
PHPとSQLでサイト作ったことあるひとならAWDwR読むだけで
割とサクサクRails使えると思うけどなあ。

361:デフォルトの名無しさん
08/05/07 05:21:48
英語を読み書きできても、皆がハムレットを書けるわけでもないし。
売れなかったからって、フランス語で書いてもやはり売れないぞ。

362:デフォルトの名無しさん
08/05/07 12:40:53
なに、無限のサルにコンピュータを与えればいつかはハムレットができるさ

363:デフォルトの名無しさん
08/05/07 12:49:16
ボゴソートの存在を知ったときには笑いが止まらなかったな

364:デフォルトの名無しさん
08/05/08 22:26:34
>>360
Perl、PHP、MySQL使いの俺だったがRailsに慣れるまで大分かかった。。
あのブラックボックスに慣れにくい人もいると思。

ところで、Ruby Way 第2版ってどう?
リファレンスが手元に欲しくてプログラミングRuby買おうとして見つけたんだが。

365:361
08/05/08 23:11:34
やっぱり、サルが出てきた.
有名だから。

星の寿命より長生きのサルが必要なのも知ってるよね。
「無限の」ってのは、そういうことだから。
もとは、「タイプライター」なので、それも指摘しておく。
当時は、パソコンなかったから。


366:デフォルトの名無しさん
08/05/08 23:34:51
ネタに全力でマジレスするスレがあると聞いて飛んできます田

367:デフォルトの名無しさん
08/05/09 00:01:10
ピントずれてるしな
「無限のサル」ってはじめから書いてあるじゃん

368:デフォルトの名無しさん
08/05/09 00:06:00
無限のサルには無限のコンピュータを与えないといけないけどな

369:デフォルトの名無しさん
08/05/09 00:15:36
refe2で

$ refe aaa
はno such class: aaaって返してくれるけど
$ refe Object aaa

/home/mona/doc/rubyrefm/bitclust/lib/bitclust/completion.rb:146:in `try': undefined
method `empty?' for nil:NilClass (NoMethodError)

って例外が上がってくるのは意図したとおりなのかな。
ここはno such method: aaaって返すのが自然な感じがするんだけども。

370:デフォルトの名無しさん
08/05/09 00:15:58
ヒルベルトホテル思い出した。


371:デフォルトの名無しさん
08/05/09 11:21:32
>>369
多分不具合。
BitClust::Completin#expand_method_name内の
return nil を return [] にすれば例外は発生しなくなるけど、
表示メッセージがまだおかしい。ちゃんと修正する必要あり。
no such method in : aaa
本当は
no such method in Object: aaa
と表示されるはず。

372:デフォルトの名無しさん
08/05/09 12:29:50
>>366-367
「自分だけわかってる」ログを残したかった人が、他人に「ついて来られちゃった」ときに、
よくこういう「だからそう言ってんじゃん」的な無駄な解説をするんですよ。知性のアピールとして。

373:369
08/05/09 18:13:02
>>371
ありがとう。

漏れも簡単に修正できるかなとソースちょっと見てたけど、
no such method in : aaa
にはなるけど、きちんと表示されないね。

374:デフォルトの名無しさん
08/05/09 20:29:12
>>371に加えて
database.rbの394行目
>raise MethodNotFound, "no such method in #{loc}: #{pattern.method}"

raise MethodNotFound, "no such method in #{pattern.klass}: #{pattern.method}"

にすれば
no such method in Object: aaa
にはなるけども、

$ refe hoge fuga
no such method in hoge: fuga
になって、まだ変だな。多分、no such class: hogeが先に出るのが
正しい気がする。

375:デフォルトの名無しさん
08/05/11 19:41:00
で、'bar'[3, 1] #=> '' はバグなの?仕様なの?

376:デフォルトの名無しさん
08/05/12 00:23:13
仕様。

377:デフォルトの名無しさん
08/05/12 01:04:27
>>375
初心者スレで出てた話か。誤爆?

普通に考えればバグだと思うけど
「仕様変更があって、リファレンスの方が更新されてないだけ」というのも
Rubyなら普通にありえるから困る

378:デフォルトの名無しさん
08/05/12 01:08:10
ChangeLogに無ければバグ


なんだが、いつのバージョンならマニュアルのように動作するんだかよーわからんな

379:デフォルトの名無しさん
08/05/12 02:18:51
MLで聞けばよろし

ぶっちゃけ、
Matzが気に入る→仕様
Matzが気に入らない→バグ
なんだから。

380:デフォルトの名無しさん
08/05/12 07:39:19
見つけた

Modified Mon Feb 19 09:15:27 2001 UTC (7 years, 2 months ago) by matz
Original Path: branches/ruby_1_6/string.c
File length: 58792 byte(s)
Diff to previous 1166
* string.c (rb_str_substr): "a"[1,2] should return ""; need
rubicon upgrade.

381:デフォルトの名無しさん
08/05/12 08:17:01
matzというバグを発見しました

382:デフォルトの名無しさん
08/05/12 09:30:06
>>380
じゃあマニュアルのミスだな

383:デフォルトの名無しさん
08/05/12 10:04:49
ぜんぜんうれしくない仕様

384:デフォルトの名無しさん
08/05/12 10:22:00
>>380
それは指定した切り出し長(2)が、文字列の長さ(1)を越えているときの動作だろ?
上で言われてるのは、インデックス(3)が文字列の長さ(3)に等しいときの動作だ

参考(ruby1.8.6 mswin32)
"a"[1,2] #=> ""
"a"[1,3] #=> ""

"bar"[2,1] #=> "r"
"bar"[3,1] #=> ""
"bar"[4,1] #=> nil

385:デフォルトの名無しさん
08/05/12 10:24:48
開始位置が文字列の長さと等しい時じゃないかな?よくしらんけど

386:デフォルトの名無しさん
08/05/12 10:42:45
if (beg == RSTRING(str)->len && len > 0) return Qnil;

これを削った

387:デフォルトの名無しさん
08/05/12 10:45:35
そんで、これで長さ0の文字列にってことか

if (beg + len > RSTRING(str)->len) {
 len = RSTRING(str)->len - beg;
}

388:デフォルトの名無しさん
08/05/12 13:25:53
>>384
> それは指定した切り出し長(2)が、文字列の長さ(1)を越えているときの動作だろ?
違う。切り出し長は関係ない。
インデックス(1)が文字列の長さ(1)に等しいときの動作。
だからずばり上で言ってること。


389:デフォルトの名無しさん
08/05/12 19:13:58
YARVで、あるベンチマークが
* 「100%速くなった」というのは、時間が半分になったということ?
* 「200%速くなった」というのは、時間が1/3になったということ?
* 「25%速くなった」というのは、時間が20%減ったということ? ( 1 / (1-0.20) = 1.25 )
初心者スレでなんの反応も無かったので、教えてえらいひと。


390:デフォルトの名無しさん
08/05/12 20:12:54
そーゆーのに興味のある人は実際に使ってる人よりITマスコミだろうしな。



391:デフォルトの名無しさん
08/05/12 20:59:33
>>389
そんなの話者やベンチマークの内容によって違うし。
その場その場で自分で解釈しなよ。
まあ、「25%速度うpしますた!」といって速度が1/4になってたりするってことはないと思う。

392:デフォルトの名無しさん
08/05/12 21:58:29
>>391
>そんなの話者やベンチマークの内容によって違うし。
冗談でしょ?

393:デフォルトの名無しさん
08/05/12 23:22:19
質問でお茶を濁さず、自分の意見を言おうな。

394:デフォルトの名無しさん
08/05/13 08:17:56
ベンチマーク内容やベンチマーク結果が話す人によって異なるのは当然だが
>* 「100%速くなった」というのは、時間が半分になったということ?
>* 「200%速くなった」というのは、時間が1/3になったということ?
>* 「25%速くなった」というのは、時間が20%減ったということ? ( 1 / (1-0.20) = 1.25 )
これが話す人によって異なるわけがない。

395:デフォルトの名無しさん
08/05/13 09:13:24
気になるならささだに問い合わせて
同じベンチを自分で回してみりゃいいだろ

396:デフォルトの名無しさん
08/05/13 13:01:20
>>394
「話す人」が全員が正しければね。

397:デフォルトの名無しさん
08/05/15 02:22:58
既存のRSSのファイルを開いて新しいアイテムを追加する時に
RSSを開く → アイテム部分だけ記述して追加 → RSS保存
で行ってみましたがうまくいきませんでした。

具体的には
p rss.items なら要素が追加されているのですが
p rss.to_s をすると追加した要素が反映されませんでした

アイテムを追加したいだけの場合でも
maker で channel 要素を再度指定して作りなおすものなのでしょうか?

環境は RSS1.0、Ruby1.8 です

398:デフォルトの名無しさん
08/05/17 00:22:03
>>397
「環境」がイミフw

399:デフォルトの名無しさん
08/05/17 09:42:11
とりあえず、どのライブラリでRSS1.0をパースしたのか?

400:デフォルトの名無しさん
08/05/17 19:45:50
>>398
Ruby 1.8 の環境で RSS のバージョン 1.0 でファイルを作りました。
すいません、私何か勘違いしてますか…?
>>399
標準添付の RSS::maker を使いました

メーリングリストの方が言及されていた validate で確認したところ
about 属性が抜けていたのが問題だとわかり解決しました
スレ汚し失礼いたしました。

401:デフォルトの名無しさん
08/05/18 01:03:06
ML見てたけど、Kimさんちょっと笑えるなw

402:デフォルトの名無しさん
08/05/18 12:31:15
URLリンク(www.atmarkit.co.jp)

ささださんオメ
しかし、リズム君のほうは14歳なのに老けてるなあ

403:デフォルトの名無しさん
08/05/18 13:27:52
>「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏

ナ、ナンダッテーΩΩ Ω

404:デフォルトの名無しさん
08/05/18 15:15:04
りずむ君は純粋な日本人だよね?
すごい名前だ・・・

405:デフォルトの名無しさん
08/05/18 15:22:18
自称「〜倍速い」は絶対信用しねえ

406:デフォルトの名無しさん
08/05/18 20:08:53
DQN命名親の被害者世代がIPA絡みの記事に掲載される時代か
あと10年もすると命名感覚がらっと入れ替わるのかもな
トメとかがばーさんの名前になったようにな

笹田さん痩せた?

407:デフォルトの名無しさん
08/05/19 03:48:53
>>405
赤い奴は三倍速い も?

408:デフォルトの名無しさん
08/05/19 07:56:59
ピンクなら許す

409:デフォルトの名無しさん
08/05/19 09:13:48
ピンクは淫乱

410:デフォルトの名無しさん
08/05/19 17:20:38
淫乱と聞いて飛んできますた。なんの話?

411:デフォルトの名無しさん
08/05/19 17:49:15
淫乱だからといって黒ずんでいるとは限らないという話。

412:デフォルトの名無しさん
08/05/19 20:44:55
最近日記の更新がなくて寂しい。

413:デフォルトの名無しさん
08/05/19 21:16:41
開発が順調という証だよ

開発が行き詰まってくると「webをなめるな」とかlispユーザに喧嘩を
売ったりするようになる

414:デフォルトの名無しさん
08/05/19 21:22:04
>>413おまえスルドイなw

415:デフォルトの名無しさん
08/05/20 04:02:14
今までrubyは他のスクリプト言語より5倍くらい遅かったから
本当にそれくらい早くなっていてもおかしくない

416:デフォルトの名無しさん
08/05/21 20:49:27
Matz is nice, so we are nice.

417:デフォルトの名無しさん
08/05/21 21:19:39
rubykaigiでグぐると2007と2006年のみで、2008のページが出てこないのは
なんとかならんのか。

ruby会議だと一応2008がでるけど、2007の方が最初に出てくるのも。

418:デフォルトの名無しさん
08/05/21 21:41:48
>>417
URLリンク(www.google.co.jp)

419:デフォルトの名無しさん
08/05/21 21:51:44
いつになったらruby1.9でrailsが動くの?
ずっと待ってるんだけど。

420:デフォルトの名無しさん
08/05/21 22:08:00
>>419
1.9.1が出てからです

421:デフォルトの名無しさん
08/05/21 23:13:01
オープンソースの世界でも、「ただ待つ」自分に権威を感じ、「待たされる」ことに理不尽を感じる奴は居るんだよな。

422:デフォルトの名無しさん
08/05/22 00:06:48
お客さんですから(悪い意味で)


423:デフォルトの名無しさん
08/05/22 02:02:52
1.9.1でrailが動いたら開発に参加してやってもいい

424:デフォルトの名無しさん
08/05/22 02:07:50
>>423
待ってるYO!!


425:デフォルトの名無しさん
08/05/22 06:05:15
1.9の側がRailsにあわせることはないから、Railsが1.9に対応しないといけないんじゃないかね

426:デフォルトの名無しさん
08/05/22 08:33:21
RailsのコミットログをRSSで見てるけど、1.9 compatと冠された
エントリーがいっぱいあるお。


427:デフォルトの名無しさん
08/05/22 12:03:42
>>426
フフフ…奴らはマイナー番号まで表記しなかったことをじきに悔いるようになるのさ

428:デフォルトの名無しさん
08/05/22 12:39:37
さらっとヒドいこと言ってるな
まあ1.8.2と1.8.4でもずいぶん違うし…

429:デフォルトの名無しさん
08/05/22 18:54:52
まぁ、1.9.0と1.9.0-1がすでに別物だしなぁ

430:デフォルトの名無しさん
08/05/22 19:25:53
そして恐ろしいことに、1.9.0は開発版
1.9.1は安定版なのである

素直に1.9.1ではなく、2.0として出せばいいと思うんだけどなぁ

431:デフォルトの名無しさん
08/05/22 19:53:53
>>430
2.0ではもっと変わる予定

432:デフォルトの名無しさん
08/05/22 20:08:42
それは分かっているが
だからといって、バージョン番号付けの法則を変えていい理由にはならないだろう
混乱の元になるのに

433:デフォルトの名無しさん
08/05/22 20:11:01
Linuxだって2.6以降は命名則変えてるやん
2.7枝存在してないし

434:デフォルトの名無しさん
08/05/22 20:32:11
1.A.0にすれば万事解決
まさかZまでは到達しないだろうしw

435:デフォルトの名無しさん
08/05/22 20:36:43
NetBSDの轍を踏むつもりか

436:デフォルトの名無しさん
08/05/22 21:03:01
>>433
それ悪例

437:デフォルトの名無しさん
08/05/22 21:44:33
>>434
なぁに、base64なら1.Z.0の次は1.a.0でいけるw

438:デフォルトの名無しさん
08/05/22 21:58:27
>> 437
1.あ.0

まだまだいける

439:デフォルトの名無しさん
08/05/22 22:07:53
まだまだいくよー


440:デフォルトの名無しさん
08/05/22 22:34:18
>>438
UTF-8なのかUTF-16(BE/LE)なのかUTF-32(BE/LE)なのかShift_JISなのかCP932なのかEUC-JPなのかEUC-JP-MSなのかISO-2022-JPなのかISO-2022-JP-MSなのか、あと何があったっけ(あれ?)
# 意表を付いてEUC-KRとかGB2312とか

441:デフォルトの名無しさん
08/05/23 09:33:51
require するときって文字コード指定できないの?

442:デフォルトの名無しさん
08/05/23 09:56:01
>>441
そういうのは初心者スレでどうぞ

ちなみに、requireで直接文字コードを指定するのは不可能
1.8.xではrequireの前に$KCODEを変更しておくと、それに合わせて読んでくれる

443:デフォルトの名無しさん
08/05/23 10:25:20
requireの第二引数で指定出来るようにしろやボケってrequireなのだろう

444:デフォルトの名無しさん
08/05/23 10:29:01
誰がうまい棒

445:デフォルトの名無しさん
08/05/23 10:55:00
対処法は tmpfile へ $0 の文字コードに変換して書き出して eval するくらい?

446:デフォルトの名無しさん
08/05/23 11:54:31
じゃあライブラリ作るときお勧めの文字コードは何?

447:デフォルトの名無しさん
08/05/23 11:55:12
us-ascii

448:デフォルトの名無しさん
08/05/23 12:06:52
ソースコードにマニュアル埋め込むなんて所詮128バイトのメリケン文化

449:デフォルトの名無しさん
08/05/23 12:33:12
コンピュータってのはメリケン文化そのものなんだけどな

trunk/insns.defとかソースコードに日本語埋め込んでたせいでトラブルが
起きたことあったよね。

450:デフォルトの名無しさん
08/05/23 12:55:33
なんで「文頭のコメント文字から改行記号までなにがなんても無視」という単純な動作ができないんだろう
C とかあのへん全くやってないからわからんのだけど、そんなにも面倒で小難しい処理なん?

451:デフォルトの名無しさん
08/05/23 13:25:30
>>450
具体的に。

例えばC++の日本語対応関係で言えば、// コメントはバックスラで継続することに
なってるから中身を無視できないわけだが。

452:デフォルトの名無しさん
08/05/23 14:17:56
> // コメントはバックスラで継続する
誰だ、そんなめんどくさい仕様作ったの…

453:デフォルトの名無しさん
08/05/23 14:26:08
物理行と論理行うんぬんという話だと思われ
「// は1行コメントだけど、行末にバックスラッシュ使って改行隠してたら論理行としてはまだ1行のままじゃね?」

// 物理1行目 論理1行目 \
物理2行目 論理1行目 \
物理3行目 論理1行目 \

字面の筋は通ってるが…

454:デフォルトの名無しさん
08/05/23 14:36:57
// 物理1行目 論理1行目 コメント
// 物理2行目 論理2行目 コメント
// 物理3行目 論理3行目 コメント

面倒だしこれでいいじゃんね

コメントがバックスラッシュを「隠す」かどうかというのはわりと面倒な問題
スクリプト言語では1行コメントがバックスラッシュを隠すということが多いと思う

# コメントです \
この行もコメントです \
まだまだコメントです

という書き方ができるスクリプト言語って何かあるか?

455:デフォルトの名無しさん
08/05/23 16:41:30
Cはマクロ(プリプロセッサ)あるから更に大混乱だな

456:デフォルトの名無しさん
08/05/23 19:04:52
>>450
ISO 2022

457:デフォルトの名無しさん
08/05/23 21:42:57
3rdRail日本語版を6月上旬に発売
Ruby普及でNaClなど3社が提携、CodeGearのIDEを推奨
URLリンク(www.atmarkit.co.jp)

458:デフォルトの名無しさん
08/05/24 09:40:03
>>450
UTF-16

459:デフォルトの名無しさん
08/05/25 14:27:15
Rubyの仕様を決定する過程ってどんな感じでしょうか。
ワーキンググループがあって最終的に投票とかですか?

460:デフォルトの名無しさん
08/05/25 14:35:38
仕様は特にありません

で、まあ、最終的には、まつもとゆきひろ当人とその事項に関係する日本人1人か2人程度で
MLの議論を物凄く参考にしつつ実際にコード保守する人の権限でえいやーと決めます

461:デフォルトの名無しさん
08/05/25 15:03:42
一言で言えば「Matzの胸算用」と。

462:デフォルトの名無しさん
08/05/25 16:07:44
だからこそ今まではなんとか回ってきたんだけどな
ある意味とても日本的だ

463:デフォルトの名無しさん
08/05/25 16:17:20
その結果出来たのが糞ライブラリの山

464:デフォルトの名無しさん
08/05/25 21:43:33
この流れで思い出したんだが、みんなコマンドライン引数の解析には何使ってる?
俺はいろいろ試してみて、最終的にROptに落ち着いた
他にも何か良さそうなライブラリがあれば教えて欲しい

465:デフォルトの名無しさん
08/05/25 21:54:43
> この流れで思い出した
なにそれoptparseが糞ライブラリってことなの使いにくいってことなのひどい
ちょっとだけインスタンスとメソッドとブロックの使い方が非標準的ってだけじゃない

466:デフォルトの名無しさん
08/05/25 22:01:11
>>464
URLリンク(rubyforge.org)
まだ使ったことないんだけどさ

467:デフォルトの名無しさん
08/05/25 22:17:35
簡単なやつなら自分で書くな
・・・・・・ライブラリがあるのを知らなかっただけだけど

468:デフォルトの名無しさん
08/05/25 22:56:17
この流れで思い出したんだが、みんなcgi引数の解析には何使ってる?
俺はいろいろ試してみて、最終的にrailsに落ち着いた

469:デフォルトの名無しさん
08/05/25 23:10:35
optparse結構楽だけどな。

470:デフォルトの名無しさん
08/05/25 23:21:59
>>468
あるあ・・・ねーよw

471:デフォルトの名無しさん
08/05/25 23:49:56
optparse使いやすいけどなぁ。
最初はぎょっとしたが。


472:デフォルトの名無しさん
08/05/26 00:32:50
>>459
こういうのは誰かが強権発動しないと回らないよ。
どうせ仕様詳細に興味を持って発言する人なんて10人もいないし。

473:デフォルトの名無しさん
08/05/26 10:32:54
>>472
いや、むしろ、本当にどうでもいい詳細なところでわらわらと人が現れてああだこうだと自分の好みを主張して決まらないんだよ。
誰かが強権発動しないと、という結論は同じだが。

474:デフォルトの名無しさん
08/05/26 12:45:03
136 ジュダック(dion軍)[] 2008/05/26(月) 02:49:25.68 ID:m708hYS90
そういや高橋メソッドのプレゼン(つーか、画面遊び)をそのまま資料配布したバカがいた
資料1枚に画面8枚だかを両面印刷して、そして資料は20枚近くになってやがった

160コマ近くの資料を見せて、それで相手に何を伝えたいと思っているのかと

475:デフォルトの名無しさん
08/05/26 17:33:26
bikeshed問題

しかし、観てるだけのくせに外から難癖つけるばっかりっていうのも
きわめて日本的ではあるわな。>>462

476:デフォルトの名無しさん
08/05/26 21:36:53
外からの意見を難癖つけられてると感じるあたりが日本的だわな

477:デフォルトの名無しさん
08/05/26 21:48:55
「公共の場で異見なんて出るはずがない」のが日本だからな

478:デフォルトの名無しさん
08/05/27 00:39:43
ねぇねぇ
Ruby会議とハロプロ新人講演がかぶってんだけどどうしたらいい?

479:デフォルトの名無しさん
08/05/27 06:33:49
>>476
ただの難癖を「俺のこれは意見だ!」と言い張るのは日本的というか馬鹿だわな

480:デフォルトの名無しさん
08/05/27 06:40:05
URLリンク(www.ruby-lang.org) つながらんよ、pingは通るが

481:デフォルトの名無しさん
08/05/27 07:09:08
きっとwebプログラミングをナメてるんだよ。

482:デフォルトの名無しさん
08/05/27 14:17:20
ちょいと質問。
URLリンク(www.ruby-lang.org)
> 自己代入

> この違いは属性参照のときに
> obj.foo ||= true
> が、
> obj.foo = obj.foo || true
> でなく
> obj.foo || (obj.foo = true)
> と呼ばれることを示します。

これは、たとえば str ||= '文字列' は str || (str = '文字列') となってるってこと?

irb> str || (str = '文字列')
NameError: undefined local variable or method `str' for main:Object
from (irb):1
from :0



483:デフォルトの名無しさん
08/05/27 14:30:38
> これは、たとえば str ||= '文字列' は str || (str = '文字列') となってるってこと?

そう。ただ属性アクセスじゃないけど

> irb> str || (str = '文字列')
> NameError: undefined local variable or method `str' for main:Object
> from (irb):1
> from :0

これは str が未定義なのでこうなってる

irb(main):001:0> foo = nil
=> nil
irb(main):002:0> foo || (foo = 3)
=> 3
irb(main):003:0> foo ||= 4
=> 3
irb(main):004:0> foo = nil
=> nil
irb(main):005:0> foo ||= 4
=> 4

484:デフォルトの名無しさん
08/05/27 14:39:22
>>483
> これは str が未定義なので
あ、わかりにくくて申し訳ない
||= の自己代入はインスタンス変数でよく見る書式なんだけど、
これ、実は、ローカル変数でも動作するんよ

irb> str2
NameError: undefined local variable or method `str2' for main:Object
from (irb):2
from :0
irb> str2 ||= '文字列'
"\312\270\273\372\316\363"

これってなんでかなと思って質問した次第
もしマニュアル通りの str || (str = '文字列') という内部動作だったら、
最初の左辺の str の評価で NameError が出そうだよね?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5385日前に更新/123 KB
担当:undef