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

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

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

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

2:デフォルトの名無しさん
08/03/02 23:05:25
Ruby 初心者スレッド Part 18
スレリンク(tech板)

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

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

魁け! Ruby 1.9.X
スレリンク(tech板)

Ruby on Rails
スレリンク(tech板)


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

4:デフォルトの名無しさん
08/03/03 09:24:03
安いレンタルサーバーでもカンタンにrubyのcgiが作れるライブラリかフレームワークってありますか?

5:デフォルトの名無しさん
08/03/03 11:08:23
その安いレンタルサーバーとやらがRuby使えるようにしてれば
好きなRuby用のライブラリやフレームワークを使えるよ。

6:デフォルトの名無しさん
08/03/03 11:09:21
それ回答になってないぞ
>>4
あるよ

7:デフォルトの名無しさん
08/03/03 13:58:02
namespaceとかの導入はRuby2.0になるのか・・・

やっぱMatzはM$でみっちりエンプラを仕込まれたほうがいいんじゃね?


8:デフォルトの名無しさん
08/03/03 22:30:41
>>7
namespace(クラス)の位置づけはどうなるんやろ?

moduleの親か子か親戚か?

9:デフォルトの名無しさん
08/03/04 10:25:39
>>8
兄弟じゃないか

10:デフォルトの名無しさん
08/03/04 11:18:31
RubyはJavaより難しい(と思う) - Railsの acts_as の話
URLリンク(dev.ariel-networks.com)

ごめんねRailsのソースが変態技巧でごめんね
「記号の使いまわしが酷い」という主張はよく見るが「記号が多い」というのは初めて見た

11:デフォルトの名無しさん
08/03/04 16:44:21
>一般的には、記号の多さは可読性を落とす気がします
ここで読む気失せた

12:デフォルトの名無しさん
08/03/04 17:02:40
>>10はしょせんJava脳でしかものを考えられない人の浅い考察だよね。

それに比べるとRuby言語そのものより、ruby実装のお粗末さを的確に
指摘したZedの指摘には納得できる。
URLリンク(www.cio.com)
・IOとThreadとGCが腐ってるから巨大なデータを扱えない。
・まともな画像処理ライブラリがない。RMagicKはメモリリークしてる。
・数値処理が遅い、遅い、遅い。
・オレオレDSLが作りやすすぎてヤバい。
・エンタープライズ用途ではRubyはぜんっぜん使えない。

disってるように見えるけどこういうのは直せるバグだから、実はrubyへの期待の
現れなんだと思うな。Zedはツンデレ。

13:デフォルトの名無しさん
08/03/04 17:14:57
>>12
> それに比べるとRuby言語そのものより、ruby実装のお粗末さを的確に
> 指摘したZedの指摘には納得できる。

そうか?

> ・IOとThreadとGCが腐ってるから巨大なデータを扱えない。
> ・まともな画像処理ライブラリがない。RMagicKはメモリリークしてる。

このへんは実装だけど

> ・数値処理が遅い、遅い、遅い。
> ・オレオレDSLが作りやすすぎてヤバい。

数値処理が遅いのは、なんでもオブジェクトという言語デザインに
よるし(ライブラリで解決しろと信者は言うだろうが)、
DSLが作りやすいのも言語の特性じゃないか?

> ・エンタープライズ用途ではRubyはぜんっぜん使えない。
これは指摘というより結論では?

14:デフォルトの名無しさん
08/03/04 17:24:46
12のは適当な要約なんでURL読んでね♥

15:デフォルトの名無しさん
08/03/04 17:31:13
Rubyでソフトウェアテスト利用するのにお勧めの環境とかライブラリとかある?

16:デフォルトの名無しさん
08/03/04 17:35:46
>>15
テストの知識がきちんとあるかどうかに依存する

17:デフォルトの名無しさん
08/03/04 17:42:45
>>16
じゃあ、無い人用と有る人用で
お勧めを教えてください。

18:デフォルトの名無しさん
08/03/04 18:04:33
選択肢なんて実質「Test::Unit + ZenTest」か「RSpec」の2択しかないんじゃね
どっちもテストの知識は普通に必要だな(w

というか、初心者スレでも言われてたが
「Rubyで学ぶソフトウェアテスト入門」みたいなのは需要があるような気がするんだが

19:デフォルトの名無しさん
08/03/04 18:36:53
256倍の極道編がRubyUnitの本


20:デフォルトの名無しさん
08/03/04 19:20:07
>>15
初心者スレ向けのネタだけど。

Test::Unitについてはピッケル本にわりと詳しく書かれてる。
あとは、RubyソースコードについてくるtestがTest::Unitの使用例に
なってる。
URLリンク(svn.ruby-lang.org)
これを覗くのがてっとりばやいかもね

21:デフォルトの名無しさん
08/03/04 20:12:19
>>13
> 数値処理が遅いのは、なんでもオブジェクトという言語デザインによる

同じ方針の言語の間でもぶっちぎりで遅いんですが、何か?
Rubyがクソ遅いのはMatzの勉強|調査|力量不足のせいで方針の問題は
皆無とはいわんがわずかだよ。

22:デフォルトの名無しさん
08/03/04 21:37:47
ちなみに同じ方針の他の言語って?

23:デフォルトの名無しさん
08/03/04 21:41:41
matz ruby が遅いのと言語が遅いのとは別の問題だろ?

24:デフォルトの名無しさん
08/03/04 22:11:03
>>21
URLリンク(shootout.alioth.debian.org)
だと数値計算に限らず他のスクリプト言語の何倍も遅いね

25:デフォルトの名無しさん
08/03/04 23:19:15
>>20
Rubyでテスト始めようと考える人には粒度が問題になると思う
テストで検証するためだけに途中の値を保存するインスタンス変数や細切れのメソッドを作る可能性が大だ

26:デフォルトの名無しさん
08/03/04 23:34:24
>>25
いやそれ別にRuby特有じゃないし

ローカル変数に代入された値のテストはどうやってやるんだろうとずっと思ってた
「早く次の行を書きたいが相当するテストを先に書かなければならんわけで、でも値をspecファイル側で読み出す手段がない」みたいな


# テストが終わったら消す
attr_reader ……

を大量のインスタンス変数に対して書く羽目に

27:デフォルトの名無しさん
08/03/04 23:37:09
>>26
そこまでテストで確認するの?
基本的には外部から見える振る舞いのみを書くのが原則なんじゃないの?
俺がTDDのテストの場合と単体テストとごっちゃにしてるのかな?

28:デフォルトの名無しさん
08/03/04 23:52:53
>>27
> 外部から見える振る舞い
それだと本質的にはアプリケーション実行の最初と最後だけの

Hoge.new.run == 42

だけしか試せないとかそういう事態にならんか
プログラム途中のインスタンス変数やメソッドが外部からほいほい参照可能であること自体がかなり変

29:デフォルトの名無しさん
08/03/04 23:57:18
>26
こんなことを良くやってる。
  class Node
    public *(private_instance_methods.each do | i | i = i.to_sym end )
    public *(protected_instance_methods.each do | i | i = i.to_sym end )
  end

>27
内部のロジックを組んでる時は、内部の挙動を確認しながらやると判りやすいんよ。
基本的に最小限のインターフェイスしか曝さないから、内部の挙動が全然判らないのは良くあることだし。


30:デフォルトの名無しさん
08/03/05 00:19:02
Rubyの生産性は、VC#にかなわないね。
VC#のIntellisenceが便利すぎる。
RubyもVisualStudioに含まれればいいのにな。

31:デフォルトの名無しさん
08/03/05 00:23:35
「ふつーの」スクリプトに対するrspecファイル晒せやオラ、と思うことはなくもない
マッチャだかマッチョだかいう個々の文法はマニュアル見るからいいんだよ

32:デフォルトの名無しさん
08/03/05 00:30:57
スクリプト作ってる最中の最終行あたりで
変数の値を固定したり入れ替えたり一時ファイル読み込んだりして試してるアレを
テスト用別ファイルとして時系列に全部書く、というのがテスト駆動

という説明を受けて感心した俺

33:デフォルトの名無しさん
08/03/05 02:01:23
Javaが多かったのですが、Rubyはじめました。
鉄板の、Ruby IDEてありますでしょうか?

とりあえず、RadRailsのEclipse Plugin評価してみます。

34:デフォルトの名無しさん
08/03/05 03:07:40
>>33
・・・RubyのIDEて、だいぶカオスな状況でつね^^;

35:デフォルトの名無しさん
08/03/05 08:52:53
Ruby は Emacs か vi で書くものでつよ

36:デフォルトの名無しさん
08/03/05 09:50:36
>>29
そのeachは何したいの?

37:西 和則
08/03/05 11:27:52
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] anna@nacci.org
[Email] liaison@do-reg.jp
URLリンク(whois.jprs.jp)
URLリンク(www.google.co.jp)
URLリンク(2ch.wota.jp)
URLリンク(wota.jp:9090)
URLリンク(wota.jp:9090)
URLリンク(wota.jp)

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
URLリンク(www.amazon.co.jp)

38:デフォルトの名無しさん
08/03/05 12:20:49
>>36
>>29が本当にやりたかったことは、今のRubyでフツーに書くとこうだろう
たぶん、Array#mapを知らない時代に書いてそのまま使いまわしてるんだと思う

> public *(private_instance_methods.map{|e| e.to_sym})

または

> private_instance_methods.each{|e| public e.to_sym}

irb> Array.private_instance_methods.size
71
irb> Array.public_instance_methods.size
118
irb> class Array
irb> public *(private_instance_methods.map{|e| e.to_sym})
irb> end
irb> Array.public_instance_methods.size
189
irb> Array.private_instance_methods.size
0


39:デフォルトの名無しさん
08/03/05 13:02:14
 ・ 開発中は全部public
 ・ 開発の最後で公開の必要のないメソッドをprivateにする
 ・ テストスクリプトの最初では>>29を書いてテスト中だけpublic全開にしておく
 ・ だってメソッドくらい全部チェックしたいじゃん?

という流れでよろしか

URLリンク(rubyforge.org)
> > 1. Should you test protected and private methods in your specs?


40:デフォルトの名無しさん
08/03/05 13:23:22
>>39
リンク先で思いっきり否定されてるじゃねーか

41:デフォルトの名無しさん
08/03/05 14:37:41
ある程度慣れるまでは自己流ででもテスト書きまくったほうがいいと思う
テストの正しい書き方がわからないからスクリプト書けませんとか本末転倒

スタイルや順番の矯正はあとでもできるわけだし(できないかもしれないけど)

42:デフォルトの名無しさん
08/03/05 14:41:11
Delphiは同一ファイル内なら他クラスのprivate, protectedにもアクセスし放題でテストが楽なんだよな。
Rubyもそうしなさい。

43:デフォルトの名無しさん
08/03/05 14:46:15
>>42
なんという画期的な仕様

44:デフォルトの名無しさん
08/03/05 18:05:23
オプションで完全アクセス開放おっぴろげモードとか、
モンキーパッチング禁止、定数変更禁止の
超不寛容モードとか出来たらいいのに。
require "strict"

みたいなー

45:デフォルトの名無しさん
08/03/05 18:21:13
モンキーパッチング禁止は簡単だが、他は難しいな。

46:デフォルトの名無しさん
08/03/05 23:08:07
良く良く考えると「仕様(インターフェイス)としてのテスト」と「実装としてのテスト」がごっちゃになってるな。
テストする部分が違えばやりたいことも変わるわな。


47:デフォルトの名無しさん
08/03/05 23:24:17
UnitTestしてるとその辺はきわめて曖昧になってくるよ。
privateメソッドが動作するかというのだってXPにおいては暗黙の仕様なわけだし

48:デフォルトの名無しさん
08/03/06 12:48:28
>>38
> >>29が本当にやりたかったことは、今のRubyでフツーに書くとこうだろう

いや、フツーならこうだろう。

public *private_instance_methods


49:デフォルトの名無しさん
08/03/06 15:43:48
29に幻影を見せられていたのさ

50:デフォルトの名無しさん
08/03/06 23:16:10
「仕様としてのテスト」って何だ?

51:デフォルトの名無しさん
08/03/07 00:19:20
仕様のテスト、ブラックボックステストの事じゃね?
実装のテストがホワイトボックステストで。

52:デフォルトの名無しさん
08/03/07 00:19:47
「tdd bdd」でぐぐれ。

53:46
08/03/07 00:22:57
>50
インターフェイスのテストだよ。他のモジュールやインスタンスから利用される部分のテスト。
基本的にはpublicの部分だね。。

54:デフォルトの名無しさん
08/03/07 00:25:09
そういやホワイトボックスて判り辛いよな。
クリアボックスにすりゃ良かったのに。

55:デフォルトの名無しさん
08/03/07 01:28:05
まーな


…いやいやここでのwhiteって白色だっていう意味じゃないし
ブラックリストは光学的に暗黒な物質で構成されてるってわけでもないし

56:デフォルトの名無しさん
08/03/07 09:00:41
白い箱でも黒い箱でもねずみを捕るのが良い箱だ。

57:デフォルトの名無しさん
08/03/07 10:18:01
とるのはバグだけどな

58:デフォルトの名無しさん
08/03/09 13:05:28
なんぞテストでケンローでモンローでププッピドゥなスクリプトを書くために
読んでおくといい書籍とかあったらzipでくれ

59:デフォルトの名無しさん
08/03/09 13:08:54
いや、マジレスするとそういうのは書籍媒体で持っておいたほうがいいと思うぞ

60:デフォルトの名無しさん
08/03/09 13:12:51
>>59
うん、や、そこを突っ込まれても困るというか…

こういうのは会社に勤めたりしないと体系的に学べないもんかね

61:デフォルトの名無しさん
08/03/09 15:42:44
>60
英語で良ければバイブルでも読んどけ。
URLリンク(www.rubycentral.com)

62:デフォルトの名無しさん
08/03/10 01:15:50
>>61
File Not Found


63:デフォルトの名無しさん
08/03/10 10:44:24
Matzにっきの
> (1..10).xxxx(1..10).select{|x,y| x+y == 5}.select{|x,y|x > y}

これはどうなんだろ。transposeがブロックを取れるようにすればいいんじゃね?
って思うけど。

[(1..10).to_a, (1..10).to_a].transpose do |x, y|
(x + y == 5) && (x > y)
end
こんな感じで。

64:デフォルトの名無しさん
08/03/10 20:12:47
transposeとはまるっきり違うだろ。

65:デフォルトの名無しさん
08/03/12 11:00:22
kabuなんとかがウザイ。

66:デフォルトの名無しさん
08/03/13 00:59:47
きっと初心者も投稿しやすい空気にするために
わざとあんな風に振舞ってるんだよ

67:デフォルトの名無しさん
08/03/13 10:53:04
>>66
アナタイイヒトネ。

68:デフォルトの名無しさん
08/03/13 21:22:15
継続って、例として示されてるのが例のための例なことが多くてピンと
来なかったんだが、ようやく自分が書いてるコードで「これは継続を使
える」というケースに行き当たった。

実はなんてことないんだなぁ。


69:デフォルトの名無しさん
08/03/13 21:29:18
Rubyで継続ってどう書くの?gotoとかあったっけ
初心者スレ行けってかそうですか

70:デフォルトの名無しさん
08/03/13 21:38:18
callcc{|c| hoge}

71:デフォルトの名無しさん
08/03/14 00:30:05
murmurhashを見ているとムラムラしてくる。

72:デフォルトの名無しさん
08/03/14 18:05:36
Ruby1.9のドキュメントはどこにありますか?

73:デフォルトの名無しさん
08/03/14 21:01:06
ソースがドキュメントです。

74:デフォルトの名無しさん
08/03/14 21:07:04
1.9に関してはRuby本体のソースとライブラリのRubyスクリプトと変更履歴がドキュメントだな
それを読み解けない人はまだ使ったらイカン

75:デフォルトの名無しさん
08/03/14 21:23:45
>>72
URLリンク(www.amazon.co.jp)
これ買え。1.9に対応している。

76:デフォルトの名無しさん
08/03/14 21:27:02
Yukihiro Matz Matsumoto
托イ

77:デフォルトの名無しさん
08/03/15 13:42:34
bitclust statichtml まだー

78:デフォルトの名無しさん
08/03/15 21:34:07
bitclust sentimental と空目した。
うどん食いてー。

79:デフォルトの名無しさん
08/03/16 00:02:26
>78
うぬもUDONを見たのであろう
白状せい!!

ちなみに己の昨日の昼飯は釜揚げ風うどんであった

80:デフォルトの名無しさん
08/03/16 00:17:20
”風”ってどういうことw

81:デフォルトの名無しさん
08/03/16 00:47:51
桶とか使わずに丼に湯張って茹でたうどん入れただけ
よって「風」


82:デフォルトの名無しさん
08/03/16 02:53:48
第1引数が?で終わるメソッド呼び出しのとき、
3項演算子の?を省略できるようにならんかな。
無理か。


83:デフォルトの名無しさん
08/03/16 02:57:19
endの3文字で終わるメソッドや変数名でブロックが終了したとき、
endを省略できるようになると嬉しいか?

84:デフォルトの名無しさん
08/03/16 02:58:36
文脈依存文法になるから好ましくないな。

85:デフォルトの名無しさん
08/03/16 09:45:19
>>82
foo = (nil?) ? 1 : 2
ね。確かにあんまり綺麗じゃないよね。Rubyのifは値を返せるから、

foo = if nil? then 1 else 2 end
って書くのはどうか。

86:デフォルトの名無しさん
08/03/16 11:16:15
if nil? then 1 else 2 endは本末転倒な気がするがw

87:デフォルトの名無しさん
08/03/16 14:09:45
>>85
横レス。この場合はカッコ必要なんだっけ?
foo = nil?? 1 : 2

?が省略できると (nil)? と(nil?)のどっちか分らなくなるけど



88:デフォルトの名無しさん
08/03/21 12:50:01
あぁ…めっちゃ風邪引いた
この感じは数年前のインフルエンザに近いな・・・はぁ・・・

89:デフォルトの名無しさん
08/03/21 14:17:56
>>88
そういうのはチラシの裏にでも書いてろ

90:デフォルトの名無しさん
08/03/22 02:58:01
>>87
疑問に思ったら試そうぜこれぐらい。

> cat > /tmp/t
class C
  def nil?; true; end
  def foo
    nil?? 1 : 2
  end
end

puts C.new.foo
> ruby /tmp/t
1


91:デフォルトの名無しさん
08/03/22 12:33:20
irbを使わない人を久しぶりに見た


92:デフォルトの名無しさん
08/03/23 13:17:57
90じゃないけど貧乏性だから入力が消えちゃうCLI, 対話環境はあまり好きじゃないな。
アウトラインエディタにコードの断片書き溜めて
そこからその断片を実行できるようにしてるな。
あとあとsnippet代わりにもなるし。

つくづくハカー気質とは相容れないな、俺w

93:デフォルトの名無しさん
08/03/23 17:49:39
irb で適当な例を打ってさて表に出そうと思うと適当過ぎて読む気にならない罠とか。

組み立ててから eval なんだからあるわけないのに irb の外と違ってたら嫌だなと
思う「羹に懲りたわけでもないけど膾を吹く」臆病者とか。

まああんまりハカー気質とは関係無い。

94:デフォルトの名無しさん
08/03/23 19:33:55
るびまってもうネタぎれ?

95:デフォルトの名無しさん
08/03/23 19:37:04
ネタの有無はともかくモチベーション低そうだなあと思うことはある

96:デフォルトの名無しさん
08/03/23 22:36:16
いまだにまともなcgiライブラリや掲示板スクリプトが作れないクソ言語のスレはどこですか?

97:デフォルトの名無しさん
08/03/23 22:39:00
スレリンク(tech板)
↑だよ


98:デフォルトの名無しさん
08/03/23 23:32:58
オライリー・ジャパンから日本語訳が出た
『Rubyスクリプティングテクニック』
(Everyday Scripting with Ruby) だけど、
Ruby使いならニヤリとするRubyらしい
コーディングテクニックが随所に出てくる
すばらしい内容なのに、翻訳がひどくて
がっかりした。明らかな誤訳もある。

99:デフォルトの名無しさん
08/03/23 23:42:32
>98
原語でおk
ってことだな

100:デフォルトの名無しさん
08/03/24 00:02:44
>>98
そこまでひどいのなら具体的によろしこ

七行も書けるのならどこが誤訳なのか
ひとつぐらい上げてくれてもよさそうなもんだ

101:デフォルトの名無しさん
08/03/24 02:04:16
「副題に出てるテスト駆動の話なんてほとんどないじゃん」と話題になってた本だな
オライリーらしくない本だ

最近の疑問符がつきがちなオライリージャパンらしいとも言えるけど

102:98
08/03/24 08:51:01
>>99
誤訳の例

……次に示すコードにより、取り除かれた退屈な行を含んだ1つの配列が生成されます。

inventory.reject do |line|
boring?(line)
end

原文は読んでないが、コード例から察するに、「退屈な行が取り除かれた1つの配列が生成されます」だったはず。「退屈な行」ってのもすごい訳だが。

103:デフォルトの名無しさん
08/03/24 10:56:00
>>102
thx. これでこちらも判断できる

> ... the following code would produce an array with
> boring lines stripped out:
文意も捉えずに訳しちゃってるんだろうなあ
訳者もあれだけどオラの編集なにやってるんだろ

まあそんくらいよくあることって声が聞こえてくるのでこの辺で

104:デフォルトの名無しさん
08/03/24 11:09:54
コード絡みを専門に見る監修者がいればいいんだろうけど、そうするとさらに値段が高くなるな

「500円高いけどそのかわり初版なのにコード部分の誤植がほぼゼロ」ならちょっと考えるが

105:デフォルトの名無しさん
08/03/24 11:31:08
boringの訳は冗長辺りでいいんかな

106:デフォルトの名無しさん
08/03/24 22:20:24
Array#shuffle,Array#shuffle!も1.8に入れてちょ

107:デフォルトの名無しさん
08/03/24 22:27:52
それくらいは自前で定義しとけ
初心者スレでも出てたがtapとかも

108:デフォルトの名無しさん
08/03/24 22:33:12
初心者がtapなんてどうするんだ

109:デフォルトの名無しさん
08/03/25 00:29:40
もっと身近に .blank? とか欲しいよ。

110:デフォルトの名無しさん
08/03/25 00:55:23
空(blank)とは何か。
色不異空空不異色、色即是空空即是色、受想行識亦復如是

111:デフォルトの名無しさん
08/03/25 02:41:03
empty? とどう違うん?

112:デフォルトの名無しさん
08/03/25 03:28:18
nil.blank? => true
false.blank? => true
0.blank? => true
[].blank? => true
{}.blank? => true
''.blank? => true
のようになるActiveSupportによる拡張。


113:デフォルトの名無しさん
08/03/25 09:29:08
perlかphpでも使っとき。

114:デフォルトの名無しさん
08/03/25 09:36:56
考え方はダックタイピングに通じるんじゃね?あって悪くないと思うけどな

115:デフォルトの名無しさん
08/03/25 09:41:42
こういう便利関数を山ほど突っ込んで全クラスのメソッド数が平均で倍くらいになったら
速度って目に見えて落ちたりするの?

116:デフォルトの名無しさん
08/03/25 09:41:56
>>92
自分の使ってる環境がたまたまとんでもなく時代遅れでショボすぎるからって、
世界中そうだと思ったらいかんよ。

117:デフォルトの名無しさん
08/03/25 09:45:27
>>115
メソッド探索はハッシュ使ってるから変わらないはず。

118:デフォルトの名無しさん
08/03/25 18:55:26
>>112
Ruby作ってる人はこういうのは嫌いなのかな?
それともActiveSupportで実装されてるから十分っていうことかな
PHPやPerlみたいに、if等のコンテキストで「自動的に」このbrank?が使われる、って
いうとこまで行くと違うとは思うけど、明示的に使うなら、組み込みであれば便利そうだ

119:デフォルトの名無しさん
08/03/25 19:25:59
今は0.blank?はfalseになるようだ

120:デフォルトの名無しさん
08/03/25 19:34:37
>>119
それはむしろNameErrorにでもなって欲しいなw おれは未確認だけど

121:デフォルトの名無しさん
08/03/25 19:38:40
Objectに要素が無い時、真

122:デフォルトの名無しさん
08/03/25 19:39:44
要素とは?

123:デフォルトの名無しさん
08/03/25 19:48:51
(1)物事を成り立たせているもの。また、物事の成り立ちに関与している成分や性質。
(2)集まっているもの、または組み合わさっているものの一つ一つ。それ以上分析できないもの。
(3)〔法〕 具体的な法律行為・意思表示において、その行為者に重要な意義をもつ部分。
(4)〔数〕 集合を構成している一つ一つのもの。元(げん)。〔明治期に作られた語〕

124:デフォルトの名無しさん
08/03/25 19:51:13
Integer(Fixnum)のObjectに要素が無い場合とは?

125:112
08/03/25 21:18:07
>>119
ごめ、俺の間違いですた。


126:デフォルトの名無しさん
08/03/26 03:13:52
> From: [685] デフォルトの名無しさん <sage>
> Date: 2008/03/26(水) 02:06:15
>
> クラスを宣言するまえにクラス呼んだらエラーになるの???
> なぜか通らない。
>
> baz = Hoge.new #←エラー???
>
> Class Hoge
> def fuga
> #Something
> end
> end

みんなはこれどうやって納得してるんだ

127:デフォルトの名無しさん
08/03/26 03:16:19
class~endも「実行」(評価)される。それが分かってれば納得できるはず。


128:デフォルトの名無しさん
08/03/26 03:28:05
宣言じゃないと気がつけば

129:デフォルトの名無しさん
08/03/26 03:34:12
if文の中でクラスにメソッドを追加、とかしたときに
「これは一体どう実現されてるんだろう」と考えてみる

まあ、一義的に不便なのは間違いないな
クラス定義は後ろにまとめて、最初に処理ずらずら書けたほうが
見た目わかりやすいだろ、という主張を否定する理由はゼロだ

130:デフォルトの名無しさん
08/03/26 04:00:30
def main
# メインの処理
end

class Foo
# ...
end

main

でいいじゃん

131:デフォルトの名無しさん
08/03/26 08:23:38
>>129
Rubyではそーゆーものだ、というだけで、そういう主張を否定してるわけじゃないだろう。


132:デフォルトの名無しさん
08/03/26 09:50:40
実装の都合を仕様と称してユーザーに押し付けているわけか

133:デフォルトの名無しさん
08/03/26 10:05:16
どこが実装の都合なんだ

134:デフォルトの名無しさん
08/03/26 10:14:49
>>132は実装という言葉の使い方間違ってると思う

135:デフォルトの名無しさん
08/03/26 21:33:04
あと、「の都合」の使い方が中二病っぽい。

136:デフォルトの名無しさん
08/03/26 21:37:00
それは意味が分からない

137:デフォルトの名無しさん
08/03/27 00:53:49
>>129
いちぎ-てき 0 【一義的】
(形動)
意味が一種類だけであるさま。一つの意味にしか解釈できないさま。一意的。
⇔多義的
「法令の表現は―でなければならない」

138:デフォルトの名無しさん
08/03/27 05:58:31
>>136
わからなくても全く問題無い(日本語の知識とは関係ない)から気にしなくていい。
同類をたくさん見てくることで、言い回しから人物像が色々わかっちゃうだけの話。良いもんじゃないw

139:デフォルトの名無しさん
08/03/27 10:45:49
どう見てもお前が同類です

140:デフォルトの名無しさん
08/03/27 20:23:44
「どう見ても」が中二病丸出し。

141:デフォルトの名無しさん
08/03/27 22:03:56
Rubyを使うとエスパーになれる

142:デフォルトの名無しさん
08/03/27 22:38:36
パーじゃなくて?

143:デフォルトの名無しさん
08/03/27 23:16:39
じゃ、俺はエスになる

144:デフォルトの名無しさん
08/03/27 23:18:06
エムになるわ。


145:デフォルトの名無しさん
08/03/28 00:40:25
じゃ、俺はエルな
あと、人殺しが出てくるのがいやだから、エルエルも取っとく

146:デフォルトの名無しさん
08/03/28 00:58:06
エルツーに気をつけてね

147:デフォルトの名無しさん
08/03/28 07:20:04
シーツーになるよ

148:デフォルトの名無しさん
08/03/28 22:51:23
んじゃプルツーはもらっとく
そして↓は「ガノタ乙」or「ロリコン乙」or「ペド乙」……と言うッ!!

149:デフォルトの名無しさん
08/03/29 03:09:53
話題が高尚過ぎて常人には解読困難だな

150:デフォルトの名無しさん
08/03/29 17:02:42
TK8.5対応キタ━━━(゚∀゚)━━━ !!
長井さん乙!

151:デフォルトの名無しさん
08/03/29 18:34:21
rb_hash_lookupがない

152:デフォルトの名無しさん
08/03/29 19:26:23
TKって窓枠がOSネイティブに近くなるとか言ってたけど8.5ってそれのこと?

153:デフォルトの名無しさん
08/03/29 22:40:12
1.8のtcltklib.cのrb_hash_lookupはどうすればいいのですか?

154:デフォルトの名無しさん
08/03/29 22:53:57
rb_hash_arefで置き換えるとか。


155:デフォルトの名無しさん
08/03/29 23:04:11
とりあえずそれでビルドできますた

156:デフォルトの名無しさん
08/03/30 23:00:39
>>150
誰、長井? ……と他人の名前を出すなら間違えないようにしようと微妙に主張。

157:デフォルトの名無しさん
08/03/31 00:00:47
誤変換くらい多めに見様屋。

158:デフォルトの名無しさん
08/04/01 01:00:06
1.9.1正式リリースキタ━━━(゚∀゚)━━━!!

159:デフォルトの名無しさん
08/04/01 01:32:53
1.9.1正式リリースキタ━━━(゚∀゚)━━━!!

160:デフォルトの名無しさん
08/04/01 01:33:35
1.9.1正式リリースキタ━━━(゚∀゚)━━━!!

161:デフォルトの名無しさん
08/04/01 01:56:27
1.9.1正式リリースキタ━━━(゚∀゚)━━━!!

162:デフォルトの名無しさん
08/04/01 09:09:56
2.0正式リリース(略

163:デフォルトの名無しさん
08/04/01 11:19:00
るびま23号キタ━━━(゚∀゚)━━━!!

164:デフォルトの名無しさん
08/04/01 12:42:47
>>163
業者宣伝乙

165:デフォルトの名無しさん
08/04/01 12:50:37
るびまって今どのくらい読まれてるんだろうね

新しい号の内容の人気がどうこうというものではなく、
Ruby関連読み物アーカイブ山盛りサイトとして
サイト全体で検索とかから結構なアクセスがあるって感じなのかな

166:デフォルトの名無しさん
08/04/01 22:28:06
だれかるびまのchm版作ってない?

167:デフォルトの名無しさん
08/04/01 22:30:01
るびまは何だかんだでおっさんたちのインタビューが楽しい

168:デフォルトの名無しさん
08/04/01 22:40:37
画像とかが絶対URLで書かれてるからMHTにしたりしても不便なんだよね
全部相対URLで書かれてたらファイルにして持ち歩くの便利なのに

持ち歩いてどうするという感じではあるが

169:デフォルトの名無しさん
08/04/01 23:13:26
Scrapbook使えよ

170:デフォルトの名無しさん
08/04/02 00:02:41
るびまのcgi.rbについての記事、なんというか微妙なんだけどどこにつっこんでよいかよくわからない

171:デフォルトの名無しさん
08/04/02 00:04:53
「俺をメンテナにしろ!」って言えばいいのに。

172:デフォルトの名無しさん
08/04/02 00:13:27
あんだけ評判悪いんだから1.9で刷新しろよ

173:デフォルトの名無しさん
08/04/02 00:26:41
刷新するためのリソースがないんだよ

174:デフォルトの名無しさん
08/04/02 00:54:34
互換無視の次世代cgi.rb候補もイマイチ固まってないよね
既存のがイマイチだからこそまだ募集してるんだろうけど

175:デフォルトの名無しさん
08/04/02 02:35:15
「a stripped down version of rack」が最右翼かなぁと思っているけれど、
この後投稿すると言ってから音沙汰がないな
URLリンク(blade.nagaokaut.ac.jp)


176:デフォルトの名無しさん
08/04/02 12:05:28
>>168
絶対URLじゃなくてCGIになってるが、
ダウンロードしてsrcを書き換えるなんてのは簡単にかけるだろ。


177:デフォルトの名無しさん
08/04/02 13:46:52
ruby-devに書き込む勇気ないからここで言っちゃえ。

田中さんや村田さん達頑張って。

複素数入りの連立微分方程式なんかがサクサクrubyで解ける日が来るのを楽しみにしてる一人です。
ノーベル賞者が「rubyを使って研究してました」なんて言う日がきたらいいなぁ。

178:デフォルトの名無しさん
08/04/03 10:08:37
>>177
うん。がんばるよ。

179:デフォルトの名無しさん
08/04/03 12:08:51
田中さんは日本に多い苗字だからな…

180:デフォルトの名無しさん
08/04/03 23:33:06
見るだけで気分がわるくなるアンチスレがやっとなくなった。めでたい。

181:デフォルトの名無しさん
08/04/03 23:46:10
>>180
また立ってるねw

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

ていうか、↑の2は早いなw 実は常連だろ

182:デフォルトの名無しさん
08/04/03 23:50:21
配列同士の代入は鬼門だな
始めて 10日なんだが、3回くらいはまった。わはは。

183:デフォルトの名無しさん
08/04/03 23:56:36
>>180
見るなよwww

184:デフォルトの名無しさん
08/04/04 21:40:24
行列の演算も鬼門だな。
逆行列が怪しいので、ググると、とっくの昔から指摘されてるじゃんか。
それをクリアして、掛けると、これも怪しいような。
乗算もダメなのか。
わはは
AWK より便利だけど、数学屋さんとか統計屋さんは跨いだ方がいかも。


185:184
08/04/04 21:46:37
s/がいかも/が良いかも/

186:デフォルトの名無しさん
08/04/04 21:50:57
さすが(数学|統計)屋さんを気にするだけあるな。細かいw
そのままでも方言ぽくていかもと思ったんだが

187:デフォルトの名無しさん
08/04/04 21:54:48
>>184
まさか整数オブジェクトなんかで行列計算やってないよね
きちんと全要素 to_f してるよね
irb> Matrix[[3,2], [1,1]].inv
Matrix[[0, 0], [0, 1]]
irb> Matrix[[3.0,2.0], [1.0,1.0]].inv
Matrix[[1.0, -2.0], [-1.0, 3.0]]


188:デフォルトの名無しさん
08/04/04 21:59:34
>>187
すげー
ひでー

189:デフォルトの名無しさん
08/04/04 22:14:38
これはバグでいいな
p Matrix[[1, 2], [2, 1]].inverse
p Matrix[[1.0, 2.0], [2.0, 1.0]].inverse

Matrix[[-1, 1], [0, -1]]
Matrix[[-0.333333333333333, 0.666666666666667], [0.666666666666667, -0.333333333333333]]

まあRubyであんま真面目に数値計算してる人っていないってことなんだけどね
数値計算は数値計算ソフトウェアでどうぞって感じだ

これくらいはできて欲しいという気はひしひしとするが

190:デフォルトの名無しさん
08/04/04 22:20:35
Ruby で数値計算なんかしても遅いだけだし。

191:デフォルトの名無しさん
08/04/04 22:24:19
行列の加減乗除が違うなんてのは数値計算ってレベルじゃないけどな

192:デフォルトの名無しさん
08/04/04 22:31:00
整数の範囲では正しい!

193:デフォルトの名無しさん
08/04/04 22:35:43
そもそも整数で完結した行列演算って意味あるの?

194:デフォルトの名無しさん
08/04/04 22:41:23
割り算さえしなけりゃ使い道はあると思うよ?

195:デフォルトの名無しさん
08/04/05 00:00:04
Matrix[[1.to_r,2.to_r],[2.to_r,1.to_r]].inverse
=> Matrix[[Rational(-1, 3), Rational(2, 3)], [Rational(2, 3), Rational(-1, 3)]]

こういうこともできるからバグじゃなくて仕様

196:184
08/04/05 05:11:27
>>190
>Ruby で数値計算なんかしても遅いだけだし。
そうでも無いよ
50 くらいのクラスター分析なら、1秒か、2秒で済むし、
300 あっても1分以内で終わる。

問題は喰わせるデータのフォーマットがちぐはぐなので、
input_data で、どこまで対応するかだね。
Excel で前処理すれば解決するけど、意外とめんどくさい。
このあたりを Ruby でコーディングすると、とてもらくちん。

197:184
08/04/05 05:23:30
>>195
ありがとうございます。

私の買った本には、裏表 2ページしかなかったのですよ。
Matrix の関係が。

198:デフォルトの名無しさん
08/04/05 12:01:46
公式サイトのニュースって書く人いないの?
2008年が3件だけってヤバくない?

199:デフォルトの名無しさん
08/04/05 13:53:15
今4月入ったばかりだから今月1個何か書けばぴったり合うな

200:デフォルトの名無しさん
08/04/05 16:35:06
Rubyを始めようと書店で入門書を手に取ったら女学生と手が触れ合って
道程を捨てられましたくらい心温まるニュースが欲しいところ。

201:デフォルトの名無しさん
08/04/05 19:45:04
>>200
これかw

URLリンク(gigazine.net)

Todd Stanton氏によると、コーディングを行っている最中に電源が壊れ、
予備のものと交換する代わりに新しくリリースされたDVDをチェックする
ため、 Best Buy(米国の小売大手)まで行くことに決めたとのこと。
しかし特に目新しいものが無く、仕方ないので「マトリックス」のDVDを買う
ことに。そしてレジに持って行くと、なんとレジの担当をしていた少女がマト
リックスのファンで、そのまま脱童貞の関係へと結びついたそうです。

202:デフォルトの名無しさん
08/04/05 19:49:57
むしろ外野のコメントのほうが面白いw

203:184
08/04/06 01:19:27
できました
重回帰分析の部分完了
F検定はまた今度

生暖かく励ましてくださったみなさんありがとう

204:デフォルトの名無しさん
08/04/06 02:32:50
>>200
ちょっと古い記事だが、ruby関係でちょっと見つけた
URLリンク(www.coins.tsukuba.ac.jp)

Ruby1.9の開発と今後(ささださん)
(ry)
* Ruby処理系を開発したら…彼女ができた(!)

205:デフォルトの名無しさん
08/04/06 03:43:39
そこのサイトコメントスパム酷いな。
最近tdiaryがスパムの温床になってて嫌だな。

206:デフォルトの名無しさん
08/04/07 16:04:36
David Pollak

わたしはこれまで Rails による開発を 18 カ月、Java による開発を 10 年経験してきました。
Rails はウェブ開発に新しい風を吹き込みました。
よく使うタスクはコマンド一発で実行することができます。実にすばらしい。
しかし、私は気が付いてしまいました。Ruby の動的型付けは多くのエラーを引きおこすことに。
そして、安心してデプロイするためには 95% ものテストカバレッジを達成しなければいけないことに。
95% のテストカバレッジを得ることの代償として、私の書いたコードは(テストコードも含めて)
Java で書いたものと同等のサイズにまでふくれあがってしまいました。
その上、Rails では動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました。
高いテストカバレッジを確保しているにも関わらずです。
これらの問題にくわえて、MRI(Matz Ruby Implementation: まつもとゆきひろ氏による Rubyの実装)は速度が遅く、
言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。

207:デフォルトの名無しさん
08/04/07 16:35:16
マルチ乙

208:デフォルトの名無しさん
08/04/07 18:00:04
ていうか、それ書かれたのもう何日も前なのに…

209:デフォルトの名無しさん
08/04/07 20:51:08
まぁ、1.9使えって話だよな(ぉぃ

210:デフォルトの名無しさん
08/04/07 22:45:02
まともな人なら、ポッと出の環境で論文など書かないし、売り物にはしない。
i80486 の後のペンティアムの初ロットのおかげで、何人泣いたか知らないか。
歴史を学ばない者は、永久にループから抜け出せない。 よ。
(おいらは論文書いてないけど、CPU交換して貰った。
NEC なので、基本はお店に本体持ち込みなのだけど、
無理言って、はずした CPU の交換にして貰った)
突撃隊が居ないと、バグも修正されない、と言う理屈もあるので、
>>209 は、「使ってみてレポよろしく」と読めた。

個人的にはいまのところ 1.8 で不自由は無い初心者です。

211:デフォルトの名無しさん
08/04/08 10:16:51
>>210
キチガイ?コピペ?

212:デフォルトの名無しさん
08/04/08 15:46:27
>211はゆとり

213:デフォルトの名無しさん
08/04/08 16:18:59
煽られてキレるくらいなら怪文書なんて書くなよ

214:デフォルトの名無しさん
08/04/08 17:18:03
本気も本気、めちゃくちゃ本気の文章だったのかもね。
自分の意地、誇り、魂のすべてをかけたような。

215:デフォルトの名無しさん
08/04/08 18:54:16
※注意! 粘着しそうなお方に餌を与えないでください

216:デフォルトの名無しさん
08/04/08 21:22:55
mygameでゲームを作るために、activerubyをインストールしました。

そこで、pathを設定しようとしたんですが。登録する場所がわかりません。

どなたかわかる方いますか?おねがいします。

217:デフォルトの名無しさん
08/04/08 21:56:54
>>216
URLリンク(pub.cozmixng.org)

218:デフォルトの名無しさん
08/04/08 22:17:27
Rubyコミュニティって言語仕様に関しては注力してて
他の言語にちょっとでもダサいところがあるとたたきまくるくせに、
トロいとか、言語仕様が安定してないとか、ドキュメントが無いとか、
数多くのテストをこなさないとエラーが出るとか、そういうことにはほんと無頓着だよな。
言語仕様と同じように、そういうものをよりよく変えていこうとは思わないの?

219:デフォルトの名無しさん
08/04/08 22:32:56
コミュニティに質問したいんならMLで聞けば?

220:デフォルトの名無しさん
08/04/08 22:34:50
>>218
いいだしっぺの原則
#だからみんな黙ってるんだよ

221:デフォルトの名無しさん
08/04/08 22:36:57
>>219でFA
このスレでRuby作ってるわけじゃないなしなあ

222:デフォルトの名無しさん
08/04/08 22:49:51
パフォーマンス大幅向上の「JRuby 1.1」リリース
URLリンク(www.atmarkit.co.jp)

…本家サイトには繋がらないなあ

223:デフォルトの名無しさん
08/04/09 01:54:30
>>218
一言でいえば「だらしない」

224:デフォルトの名無しさん
08/04/09 02:33:49
>>218
基本的に、お客様に使っていただく言語というよりは、自分で使うための言語だから、
その辺の意識は正直薄い。
もっとも、トロいのは1.9、仕様安定性は1.8でだいぶ解決してるし、
ドキュメントはるりまががんばっているので、218もここに書く暇があったらドキュメントを書くんだ。

225:デフォルトの名無しさん
08/04/09 10:35:24
使おうと思ってもマニュアルや解説少ないってのはやっぱあるよな
一般的になったと思えるHPricotやMechanizeですらコピペみたいな数行のスクリプト載せて「あとは英語マニュアル見てね」だしな

226:デフォルトの名無しさん
08/04/09 10:53:05
>>225
少しは探せ
んでもっといいのあったら教えれ

知ってるうちで一番長いHpricotの解説
URLリンク(mono.kmc.gr.jp)
知ってるうちで一番長いWWW::Mechanizeの日本語マニュアル
URLリンク(d.hatena.ne.jp)
知ってるうちで一番長いREXMLの日本語マニュアル
URLリンク(www.cozmixng.org)
scRUBYt!は1年くらい放置してまだ動いてたら勉強する

227:デフォルトの名無しさん
08/04/09 11:10:19
scRUBYt は「最初から scRUBYt で勉強した人」が出てくると変わるかも、と思う
知ってるから Ruby の正規表現で十分 → Hpricot サイコー
という流れと似た現象が起こる可能性はある

228:デフォルトの名無しさん
08/04/09 11:22:01
基本は「不便だと思ったら、お前が何とかしろ」だからね。

229:デフォルトの名無しさん
08/04/09 13:09:16
日本人は西洋人と違って、「場にノウハウを蓄積する」観念が薄いからな。
昔から「それは人の中にしか無い」って考えだし、たまに書き残すと「秘伝の書」とかになっちゃうw
第二次大戦中も、敗走したパイロットの話から学ぶことを軽視して「討ち死に」を讃えてばかりいたから、
ノウハウがたまらず、後期になって必然以上に敵さんとの開発競争に差が出たそうだが。

230:デフォルトの名無しさん
08/04/09 13:12:02
>>226
…Mechanizeのは英語マニュアルより長いんだが、ソース読んだのか
はてなダイアリーでマニュアル記述なんて無駄な方向に労力使ってるなー

というか、あれは本家のマニュアルが微妙なんだよな
ソースコードからマニュアルが自動生成されるのがわかってるんだから、
全部のソースコードのメソッドの前に1行説明でも書いておけばいいのに
最初本家マニュアルにアクセスしたときメソッド名しか並んでなくて絶望したぞ
いくら普段は使わないクラスでソース追えば誰でもわかるったってこれはねーよ
URLリンク(mechanize.rubyforge.org)

>>229
ということであちらさんも公式採用ライブラリ以外は結構微妙だ

231:デフォルトの名無しさん
08/04/09 13:21:49
本家が日本じゃなかったら、あっちももっと積極的かもな。

232:デフォルトの名無しさん
08/04/09 13:26:20
確かに、Ruby本体に対する活動が鈍いのは日本由来であるということが影を落としている可能性はある
…というか、思いっきり影は落としてるが、
RubyForgeとかに登録されてるライブラリの活動が鈍いのは言語が日本製だからということではないはず
作ってる最中にRubyの仕様に疑問が出てきてML見たけど日本語ばっかで外国のパッチはスルー気味なので
失望して開発止めた、というのがそうそう起こってるとは思えねー

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 が出そうだよね?

485:デフォルトの名無しさん
08/05/27 14:51:51
この記法だとまずnilが代入されるんかな

> a += 1
=> NoMethodError: undefined method `+' for nil:NilClass
> a
=> nil

486:デフォルトの名無しさん
08/05/27 14:57:43
>>485
なにこの素敵機能

っていうか、これ何気にマズくね?


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