Rubyについて Part 31 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
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のほうがいまは流量多いんじゃないの?



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

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