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

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

Rubyについて Part 14

1 :デフォルトの名無しさん:04/12/26 02:52:38
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

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

= 前スレ
: むーんうるふ Part13 【Rubyについて】
http://pc5.2ch.net/test/read.cgi/tech/1100533226/

952 :デフォルトの名無しさん:05/02/11 13:10:21
>>934
Rubyの場合はメソッドのオーバーロードがないので、期待される引数型がわからない場合は
ドキュメント見るかソース見るかしかなかろう。
名前付き引数が導入されれば緩和はされるだろうが、実際に使うとなると微妙かも知れん、とVB書いてて思った。
あれは面倒だ。

そもそも、俺としてはERB.new(file)のfileが書き出しファイルの指定なのか読み出しファイルの指定なのか
それとも何か別のファイルの指定なのかが読み取れないので、型云々以前の問題があるように思えるが故に
それを解決するには結局ドキュメントかソースを見る必要があるのだから、型チェックの話は意味がない気が汁。
fileとあるけどfiletypeの定数かも知れないしな。
というのは要は>>950とほぼ同意見です_no

953 :デフォルトの名無しさん:05/02/11 13:11:41
>>946
まさか数十倍って事はあるまい
http://kazuhiko.tdiary.net/20050107.html

ところで、AmritaやERb以外にも、REXMLでテンプレートを扱うってのはどうなんだろう?
テンプレートの美しさを維持しつつ、けっこう速度が稼げそうな気がするんだが……
(モデルとビューの分離も可能だし)

954 :928:05/02/11 13:25:15
>>946
同じような条件でerbテストしてみますた

 Amrita          3.469
 マイテンプレート
  メモリからダイレクト 0.702999999999999
  ファイルから      0.75

 ERB           0.125

27.8倍か……

955 :928:05/02/11 13:27:59
ただ、erbはViewとLogicがゴチャゴチャになるのがイヤだなぁ
HTMLじゃなくてRubyコード弄ってるみたいだった……

956 :928:05/02/11 13:33:50
>953
>まさか数十倍って事はあるまい

Hikiの場合はTemplate処理だけじゃなくて他の処理もあるから
妥当じゃない?
#Template処理がせいぜい全体の約6割ということ


957 :デフォルトの名無しさん:05/02/11 13:41:19
>>941
だって、その利用法ってのは静的型を利用して、型をプロトコルの情報の一部
として含むことなわけだから、それをそのままRubyでやろうとするのがおかしい。

ERB.new_with_name(filename)のようなクラスメソッドを作るか、
キーワード引数で解決するのがいいんじゃないか。


958 :デフォルトの名無しさん:05/02/11 13:44:18
結局Rubyにはクラスを論理的にグルーピングする仕組みがないから
# ここでは継承は単に既存のコードをずるずると引っ張ってくる機構だとみなす
多くの言語の中で人間の管理能力を一番早く超えてしまう。
継承を利用した実行時の苦し紛れな型チェックをしたり
UnitTestしたりドキュメント整備すれば限界をもう少し先に引き伸ばせるが
素材が素材だから(たこ焼きを懐石料理に使うようなものか)
規模の大きなものには最初から別の言語を使ったほうが効率は良い。
Rubyの想定外の使い方をする奴はアフォだがそのアフォが一人くらい
出てきて実際に玉砕してみて欲しいもんだな。

959 :デフォルトの名無しさん:05/02/11 13:49:11
>958
それはLisper Smalltalkerに対する挑戦ですかw

960 :デフォルトの名無しさん:05/02/11 13:55:29
>>954
Amrita遅いんならmisen使えば?

961 :デフォルトの名無しさん:05/02/11 13:57:10
しかしmatzは定年までRuby一本で粘るつもりなのかな。
Rubyに飽きたら数学的に美しくない関数型言語でも作って欲しい。

962 :デフォルトの名無しさん:05/02/11 13:58:43
>>961 定年なんてないだろ人生終わるまでだろ

963 :デフォルトの名無しさん:05/02/11 14:35:49
LispやSmalltalkとRubyを同列に置けるという根拠はないな

964 :デフォルトの名無しさん:05/02/11 15:04:42
色々と管理できる限界があるんだというのは伝わってくるが
全体で数千クラスあるプロジェクトだとしても1機能に対するクラス数は普通100もないと思う
ので普通は限界を迎えることはないはず。
限界を超えることが予測できる場合は設計を見直そう。どっかおかしいから。

965 :デフォルトの名無しさん:05/02/11 15:09:22
おかしいも何も誰もRubyでそんなことやってませんから〜

966 :デフォルトの名無しさん:05/02/11 16:00:41
>例えば ERB.new(file) というコードがあった場合、fileはFileなのか、それともファイル名を表すStringなのかわからない。
>リファレンスマニュアル読んでも説明がない(ほんとにないんだよ)から自分で実験するしかない。

これはー、
まず、記述してないドキュメントが悪い。
ドキュメントに統一感が欲しいというのはこのへんも含めて。
仮引数に期待される型一覧を共通のフォーマットで書くとか。

あと、これは俺の個人的な思想かも知れないが、標準的な Ruby ライブラリなら
出来るだけいろんな型の値を受け取ってよきにはからってくれる事が期待されていると思う。
つまり File でも String でも受け取って欲しい。

ただこの場合でも、String が「ファイル名」か「ファイルの中身全部」なのかは
型だけじゃわからないことなので、やっぱりドキュメントがきちんとしていないとだめだろう。

967 :928:05/02/11 16:14:21
>960
同(ry

ごめん、前のデータは間違い。perseのところを測っていなかった

 Amrita         17.422
 マイテンプレート
  メモリからダイレクト 0.936999999999998
  ファイルから      0.938000000000002
  キャッシュ付き    0.718999999999994
 ERB            0.484000000000002
 misen           0.344000000000001

misen速いなぁ。やっぱり独自タグだと有利かな……


968 :デフォルトの名無しさん:05/02/11 16:17:01
>966
そこでPathnameですよ。

969 :966:05/02/11 16:30:03
>>968
ファイル名を指定したいときは Pathname を使うのが常識で、
ファイルの中身全部を指定したいときは String を使うのが常識、
っていうコンセンサスがとれてればそれでいいのかもしれないけどね。

970 :デフォルトの名無しさん:05/02/11 16:31:34
2chにレスする暇があったらサンプルでも書けや

971 :デフォルトの名無しさん:05/02/11 16:46:24
>970
では適当に
def initialize( template )
 template = Pathname.new( template.to_s ) until template.kind_of?( Pathname )
 if template.exist?
  #
 else
  raise "Error. File: #{template.to_s} isn't exists"
 end
end
……こんぐらい自分で考えろよ。

972 :デフォルトの名無しさん:05/02/11 16:54:21
>>965
Rubyだけの話じゃありませんから。

973 :デフォルトの名無しさん:05/02/11 17:00:45
Ruby*だけ*は関係ありませんから。

974 :928 :05/02/11 18:15:09
そう言えばmisenのドキュメントはドコー?
マトモなマニュアルも無いんだけど……

975 :デフォルトの名無しさん:05/02/11 18:56:58
基本的な仕様はAmritaに準ずるってことで詳細な説明を省略してるんじゃないの?
あとテンプレートエンジンで名前が挙がっていないものはxtemplateとtempraくらい?

976 :デフォルトの名無しさん:05/02/11 19:19:28
そうでう

977 : 928:05/02/11 20:00:24
>975
>基本的な仕様はAmritaに準ずるってことで詳細な説明を省略してるんじゃないの?

いやいや、けっこう違うよ。


>あとテンプレートエンジンで名前が挙がっていないものはxtemplateとtempraくらい?
同(ry
Tempuraは良くわからんからパス

 Amrita         18.093
 マイテンプレート
  メモリからダイレクト 1.0
  ファイルから      1.015
  キャッシュ付き    0.687000000000005
 ERB            0.546999999999997
 misen           0.234000000000002

 XTemplate       4.718

REMXL使っているからか、ちょっと遅いね。



978 :デフォルトの名無しさん:05/02/11 20:26:38
>>960
misenなんてのがあったのか。知らなかったよ。
でも、2003-02-18 の 0.1.11 で止まっているように見える。
これ大丈夫なの?

979 :978:05/02/11 20:37:36
独自タグやったのか… どこがamrita likeなんすか。

980 :デフォルトの名無しさん:05/02/11 20:48:51
980

981 :デフォルトの名無しさん:05/02/11 20:52:55
台湾ラーメン、テバサキ

982 :デフォルトの名無しさん:05/02/11 21:46:48
TemplateEngineのベンチマークしてるひとはerbscanのデータもよろしく。速いよ。

983 :デフォルトの名無しさん:05/02/11 21:57:56
>>975
差別せずにWeb::Templateも入れてやれよ。

984 :928 :05/02/11 21:58:12
>982
拡張ライブラリはパス ('A`)
ついでに次スレよろしく

985 :928 :05/02/11 22:47:41
>983
同(ry

"Amrita:     18.094"
"Siki Memory:  0.984999999999999"
"Siki NoCache:  0.984999999999999"
"Siki Cache:   0.702999999999996"
"ERB:       0.421999999999997"
"misen:      0.342999999999996"
"XTemplate:   4.797"

"Web::Template: 0.516000000000005"

Web::Template:も独自タグですな。
なかなかmisenは越せないねぇ

HTML準拠なのはAmritaとオイラのやつだけですか。
#Amritaも正確には完全準拠というわけにはいかんけどね


986 :928 :05/02/11 22:52:02
おっと、Web::Templateは{{マーク}}を使っているから
HTMLには違反していないか。失礼

xtemplateもAmritaライクですた。ごめん

987 :デフォルトの名無しさん:05/02/11 22:53:04
.NETブリッジの使い方がサパーリ分からん

988 :デフォルトの名無しさん:05/02/12 00:30:40
俺にはActiveScriptRubyをIEから扱う方法すらさっぱりだ

989 :デフォルトの名無しさん:05/02/12 00:58:56
>988
素直に邪道編買えよ……

990 :デフォルトの名無しさん:05/02/12 03:19:03
>>989
>素直に邪道編買えよ……
あのシリーズ本、ミテクレが宝島社のムックみてーで安っちいんだよな。
「安く請け負う事務所に適当にお願いしました」
って感じがデザインからぷんぷんと伝わってきて情けない。
まったく、Rubyのイメージダウンに貢献してどうすんだろう。

991 :デフォルトの名無しさん:05/02/12 03:38:01
>>990
JCOM経由は無理ポだから誰か次スレ立ててくれ。

邪道編が出た当時のRubyはまだ存在が薄かった故(今でもビジネス的には?だけど)
イメージに下がるとか上がるとかいう以前の状態だったように思う。
漏れはartonさんファンなので今でもイメージダウンにつながるとは思わないけど。

992 :デフォルトの名無しさん:05/02/12 05:26:57
>>990
現在は出版社もRubyには慎重なようです(w

993 :デフォルトの名無しさん:05/02/12 05:44:50
自演乙

994 :988:05/02/12 06:45:29
>>989
黄道編で微妙に痛い目に遭ったので
256倍本には慎重になっています

しかしRuby関連の書籍って、なぜああも微妙なものが多いんだ
シェルスクリプト入門といい、Ruby de XMLといい……
(もちろん名著もあるけど)

995 :988:05/02/12 07:00:35
書き込みついでに新スレ立ててみた。

Rubyについて Part 15
http://pc5.2ch.net/test/read.cgi/tech/1108159084/

996 :デフォルトの名無しさん:05/02/12 10:02:58
>>995


997 :デフォルトの名無しさん:05/02/12 13:42:24
条件付き変数、キボン。>MW=807?

998 :デフォルトの名無しさん:05/02/12 16:11:32


999 :デフォルトの名無しさん:05/02/12 16:21:54


1000 :デフォルトの名無しさん:05/02/12 16:22:30


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

369 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)