Rubyについて Part 29
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/10/29(月) 23:27:18Ruby Home Page
http://www.ruby-lang.org/ja/
= 前スレ
Rubyについて Part 28
http://pc11.2ch.net/test/read.cgi/tech/1187298711/
過去スレ・関連スレは >>2-
0653デフォルトの名無しさん
2007/12/25(火) 15:37:56やたらめったら複雑なアーキテクチャになって、
少なくともわかりやすいとは言いづらいシステムになる事はよくあると思うけど。
それはJavaが静的な型付け言語だから仕方ない部分がたくさんあって。
対してRubyはクラス同士が依存しまくったソースコードを書いても、
動的で、クラスの定義を後付けできたりする性質と相まって、
案外うまくいっちゃう事が多いと思う。
つか、アプリケーション作る場合とフレームワーク作る場合では、
依存するクラスをどの程度なくすかどうかの割合って違うよな。
基本クラスしかメソッドの引数に使うななんて、
ほんとにそれでプログラミングが楽になるのか?
クラス同士が依存するなときう教えは、プログラミングを楽にするための教えであって、
それがプログラミングを難しくしてたら全く意味ないぞ。
0654デフォルトの名無しさん
2007/12/25(火) 15:44:10「従業員管理クラス」と「従業員クラス」という二つのクラスがあった場合、
「従業員管理クラス」が「従業員クラス」に依存しないってどういう場合だ!
0655デフォルトの名無しさん
2007/12/25(火) 15:45:58その中では、652の言うような意味でクラスは独立してる?
あと、書き込み全体から感じるにおいからして、
Ruby を使ってダックタイピングならぬチキンタイピングを始めちゃう前に、
Java とか C♯とか静的な型の言語を使った方が欲求が満たされて、
幸せに慣れるんじゃないかな。
http://talklikeaduck.denhaven2.com/articles/2007/10/22/chicken-typing-isnt-duck-typing
0656デフォルトの名無しさん
2007/12/25(火) 15:53:52どう区別するのがいいの?
0657デフォルトの名無しさん
2007/12/25(火) 16:34:570658デフォルトの名無しさん
2007/12/25(火) 16:54:18Ruby1.9.1は開発者向けでしたか。
Ruby1.9.1になれば速くなるという記事がたくさんあったので、
Ruby1.8.6に変わるものだと思っていました。
一般人は1.8.6を使い続ければいいということですか。
0659デフォルトの名無しさん
2007/12/25(火) 17:48:050660デフォルトの名無しさん
2007/12/25(火) 19:00:39「一般人」を 1.9.1 に誘導するようなレスはやめれ。
0661デフォルトの名無しさん
2007/12/25(火) 19:20:07>新しい発想じゃないだろ。
>どんな本にでもクラスは独立すべき、依存したクラスはよくないと書いてある。
いや十分新しいよ。「独立したクラスにすべき」という考え方が「引数は基本クラスに限定すべき」という考えに変換されている点など特に。
どういう思考回路を使ったらそういう結論になるのか不思議。
>そこまで偉そうにするんだったら採点くらい出来るだろ。
評価するのは構わないけど、偉そうなのはそっちだろ。日本語間違ってるよ。
>プログラミングはバックグラウンドでは0と1で計算しているだけ。
>また、ある時に1と入れたら(乱数を使わない限り)、必ず0か1のどちらが出るようになっている。
>だから、必ず最善の手法が存在するはずである。
前提と結論が100万光年離れてる。京大生の頭では補完できるかもしれないが、そこまで賢くない一般人には無理。
0662デフォルトの名無しさん
2007/12/25(火) 19:20:22偶数の安定バージョンって位置付けじゃないの?
0663デフォルトの名無しさん
2007/12/25(火) 19:37:38> プログラミングはバックグラウンドでは0と1で計算しているだけ。
> また、ある時に1と入れたら(乱数を使わない限り)、必ず0か1のどちらが出るようになっている。
> だから、必ず最善の手法が存在するはずである。
まったく意味はわからんが、これが本当ならプログラマとして夢を持てるw
0664デフォルトの名無しさん
2007/12/25(火) 19:40:590665デフォルトの名無しさん
2007/12/25(火) 19:46:03def [](index)
return @array[index]
end
と定義すれば
obj[i][j] = value
の形で代入できる
>>652
>どんな本にでもクラスは独立すべき、依存したクラスはよくないと書いてある。
それは場合によりけりだ
自分でもコンポジションって言葉を使ってるだろ?
依存は「できるだけ少ない方がいい(不要な依存はいらない)」のであって
適切な依存関係はプログラムを分かりやすくする
0666デフォルトの名無しさん
2007/12/25(火) 19:48:03クラスは作った。
どう悩んでも今のおれでは依存だらけになったら
オブジェクトコンポジションは極力避けた。
ニコニコにFeel the Rubyとかいうドガがうpされているので
見て基本概念を勉強しようと思う。
0667デフォルトの名無しさん
2007/12/25(火) 19:50:05それで出来るわけがないwww
代入演算子が定義されてないじゃないか。
それじゃreturnして終了だ。メモリが書き換わらない。
それにi, jの2値必要なのにどうしてその形で出来るんだ?
子供だましすぎる。
0668665
2007/12/25(火) 20:20:27……さすがに絶句した
とりあえず何も言わずに次のプログラムを実行しなさい
結果を見て納得したらもう来ないでね、おしまいみたいだし
class Foo
def initialize(data)
@data = data
end
def [](index)
@data[index]
end
end
foo = Foo.new([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
p foo[0]
foo[0][1] = 200
p foo[0]
0669デフォルトの名無しさん
2007/12/25(火) 20:20:590670デフォルトの名無しさん
2007/12/25(火) 21:34:481.9.0が安定版だとか言ってる人はここ数日のChangeLog見直してくるといい。
数日で数百revisionが上がってるものが安定版なわけないだろw
0671デフォルトの名無しさん
2007/12/25(火) 21:43:210672デフォルトの名無しさん
2007/12/25(火) 21:44:20?
0673デフォルトの名無しさん
2007/12/25(火) 22:25:08「出るのは1.9.0」からの繋がりが自己矛盾してる気が
さて23:00が楽しみになってまいりましたので
いまから一蘭のラーメン食って来る
0674デフォルトの名無しさん
2007/12/25(火) 22:55:44確認しました。
どうして出来るのか教えてくれませんか?
例えば標準ライブラリのmatrixでも
2次元のindexには[i, j]という形を採用しています。
[i][j]の方がずっと自然だと思うし、
大体ここでは2つの引数があるのに
その形ではひとつの引数しかもらっていません。
どういう理屈ですか?
それを教えてもらったら初心者スレに戻ります。
次に質問したいことは初心者スレ向けなので
0675デフォルトの名無しさん
2007/12/25(火) 22:59:59謝罪するってことを知らない引きこもりなのかなあ。
0676デフォルトの名無しさん
2007/12/25(火) 23:05:18正しい原理を教えてもらったら謝罪します。
0677デフォルトの名無しさん
2007/12/25(火) 23:06:240678デフォルトの名無しさん
2007/12/25(火) 23:06:460679デフォルトの名無しさん
2007/12/25(火) 23:07:130680デフォルトの名無しさん
2007/12/25(火) 23:16:32m[0]の時点で一次元配列である[1,2,3]への参照がもどってくるから、
それにたいして[2]とか介せば当然変更は出来る。原理という
ほどではなくて、Cの配列の配列とかと一緒。
0681デフォルトの名無しさん
2007/12/25(火) 23:27:45しかし
m[i][j]=
の形が定義してないのに使えるのはなぜですか?
0682デフォルトの名無しさん
2007/12/25(火) 23:32:29こんなのがソフトウェア工学とか方法論とか言ってたわけだ
0683デフォルトの名無しさん
2007/12/25(火) 23:32:48インスタンス、とういか、レシーバが別だからだろ。
それともあれか、a.b.c()とチェインしてたら、aのクラスには
def b.c() という定義が書いてあるとでも思ってたか?
0684デフォルトの名無しさん
2007/12/25(火) 23:33:330685665
2007/12/25(火) 23:37:41ttp://www.ruby-lang.org/ja/news/2007/12/25/rurima-1_9_0/
重いからまだ落としている最中で、中身見てないけど
0686デフォルトの名無しさん
2007/12/25(火) 23:41:490687デフォルトの名無しさん
2007/12/26(水) 00:00:360688デフォルトの名無しさん
2007/12/26(水) 00:04:13さっそく言葉遣いが統一されていないのが萎える。
こっちもリリースが早すぎるんじゃね?
0689デフォルトの名無しさん
2007/12/26(水) 00:13:07文章は英語で書いてないと意味ないし。
0690デフォルトの名無しさん
2007/12/26(水) 00:17:56でいいのかしら
0691デフォルトの名無しさん
2007/12/26(水) 01:34:590692デフォルトの名無しさん
2007/12/26(水) 01:54:38しかしなんか触った感じ普通に動く(OSX Leopard)
運用状態でどうなるかが問題だけどね。
一応手前味噌なテストユニットも片っ端試してから寝るか。
0693デフォルトの名無しさん
2007/12/26(水) 02:23:29rubyつまんね。
0694デフォルトの名無しさん
2007/12/26(水) 03:43:230695デフォルトの名無しさん
2007/12/26(水) 08:48:42リファレンスはどう考えても見切り発車
chm版の目次も杜撰だし、これではまだ実用には……
0696デフォルトの名無しさん
2007/12/26(水) 09:37:55それも12月25日がモルモン教の記念日だからという理由で。
なんという無茶……。唖然とするしかないな。
0697デフォルトの名無しさん
2007/12/26(水) 10:38:37わざわざ {a: 'sym'.to_sym} と書かなくてはならないみたいだし
ところで、結局ブロックローカル変数の代入(:=)は無くなったんだろうか
手元でやってみるとsyntax errorだった
0698デフォルトの名無しさん
2007/12/26(水) 10:46:42一番ありえないのは変更点に関するドキュメントのなさだと思う
いずれにせよ、25日のリリースはなかったものとして考えた方が良さそうだ
大人しく1.9.1を待とう
0699デフォルトの名無しさん
2007/12/26(水) 11:00:33というアピールにはなったね
0700デフォルトの名無しさん
2007/12/26(水) 11:23:38お前の「日本」はどんだけ Ruby で占められてるんだよ?
0701デフォルトの名無しさん
2007/12/26(水) 11:52:09予定はいつなの?
0702デフォルトの名無しさん
2007/12/26(水) 11:55:02キーワード引数って入ったの?仕様が決まらなくて見送ったと聞いてたけど。
0703デフォルトの名無しさん
2007/12/26(水) 12:12:57まだ。検討を始めたところ。何か言いたいことがあるなら今のうちに ruby-dev へ。
0704デフォルトの名無しさん
2007/12/26(水) 12:28:35誰の日本が、ソフトウェアの分野でも海外にその力を知らしめているんだ?
0705デフォルトの名無しさん
2007/12/26(水) 12:31:07http://pc11.2ch.net/test/read.cgi/tech/1190559748/
0706デフォルトの名無しさん
2007/12/26(水) 12:53:01一応、今の1.9.0ではキーワード引数使えるようになってる
仕様は確定ではないみたいだけど
0707デフォルトの名無しさん
2007/12/26(水) 13:03:250708デフォルトの名無しさん
2007/12/26(水) 13:05:31バベル案内に絡めてるんだろ
0709デフォルトの名無しさん
2007/12/26(水) 13:09:200710デフォルトの名無しさん
2007/12/26(水) 13:39:240711デフォルトの名無しさん
2007/12/26(水) 13:48:00http://eigenclass.org/hiki/Changes+in+Ruby+1.9
0712デフォルトの名無しさん
2007/12/26(水) 13:54:10釣りか?普通にPASSするが
0713デフォルトの名無しさん
2007/12/26(水) 14:12:030714デフォルトの名無しさん
2007/12/26(水) 16:07:100715デフォルトの名無しさん
2007/12/26(水) 18:50:55まずはプラットフォームを晒さないと。
0716デフォルトの名無しさん
2007/12/26(水) 20:35:42Redmineはちょっと起動してみたけどかなりよく出来てるよね。日本語化も完全に
できてるし、あんなのがあっという間につくれるRailsはすごいよ。
ただ、メンテナンスを考えたらRailsはなんとなく信用できないなあ。バッドノウハウが多すぎるし。
Tracはいろんなサイトで採用されてるし、信頼性も高いけどPythonだから却下か。残念。
影舞は素朴でいいんだけどメンテナンスが全然されてないからなあ。ruby公式で引き取って
開発したらどうだろう。しかし、影舞にすると外人はさらに入りづらくなるだろうなあ。
ついでにRWikiも落ちまくってるので変えてほしい。MediaWikiになんねーかなあ。
あのシステム最高なんだけど。信頼のPHPだしさ。まあ、BitChannelでもいいけど。
0717デフォルトの名無しさん
2007/12/26(水) 20:55:33負荷面も良いし(これも信頼性の一因か
rubyスレ的には言語設計とか突っ込む所なのかもしらんけどね
ruby本家としてはrubyアプリで動かしたい所なんだろうね。
MSがwebにlinuxサーバ使ってて笑われた時期もあったし。企業と比較してもしゃーないけど
0718デフォルトの名無しさん
2007/12/26(水) 21:54:21気に入らない時にいじりやすい、ってことじゃないの?
0719デフォルトの名無しさん
2007/12/26(水) 22:01:44いや、違うと思う。
0720デフォルトの名無しさん
2007/12/26(水) 22:58:35開発陣のとってもいらない子なの?
0721デフォルトの名無しさん
2007/12/26(水) 22:59:35ブランチ切るのが面倒くさいらしいwww
0722721
2007/12/26(水) 23:00:220723デフォルトの名無しさん
2007/12/26(水) 23:27:570724デフォルトの名無しさん
2007/12/27(木) 02:24:59めでたし めでたし
0725デフォルトの名無しさん
2007/12/27(木) 07:28:20snapshot にいちいちブランチきらないだろ
0726デフォルトの名無しさん
2007/12/27(木) 16:18:08> 何も知らずに1.9.0でRubyデビューしていらん苦労をする人が続出しそう
ちょっと前まではRuby公式から「ダウンロード」でたどれるWindows版Rubyバイナリのページ [ruby-lang.org]が
* ruby1.6.4のzip
* ruby1.6.8のzip
* ruby1.8.6のzip
* ruby1.9.0のzip
という素敵でフラットな一覧になってて「よくわかんないけどとりあえず一番番号が大きくて新しそうな1.9.0をダウンロードしました」という惨事が少なからず起きてました
現在はunstableというディレクトリが掘られてるので今後は少なくなるような気がします
0727デフォルトの名無しさん
2007/12/27(木) 17:33:010728デフォルトの名無しさん
2007/12/27(木) 17:33:480729デフォルトの名無しさん
2007/12/27(木) 18:40:400730デフォルトの名無しさん
2007/12/27(木) 18:49:490731デフォルトの名無しさん
2007/12/27(木) 19:36:50ひどいも何もここの初心者スレが発端だろ
実際に適当に1.9.0をダウンロードして詰まって「不安定版だなんて知らなかった」という話になって
「1.9.0が普通に置いてあるのはちと酷い、unstableとかディレクトリ切っとけよ」
というツッコミがあった
それを見た人が連絡したか提案したか実際に自力でディレクトリ切ったかしたんじゃね
どちらにしても現在はわかりやすくなってるんだし笑い話でいいんでは
0732デフォルトの名無しさん
2007/12/27(木) 20:16:010733デフォルトの名無しさん
2007/12/28(金) 04:39:29初心者は、そこからは落とさないが
0734デフォルトの名無しさん
2007/12/28(金) 23:54:23File.open('x', 'w') {|f|
f.print "0\n1\n2\n3\n"
}
File.open('x') {|f|
while line = f.gets do p [line, f.pos] end
}
{"0\n", 6]
{"2\n", 10]
{"0\n", 12]
なんだこれ(;´Д`)
0735デフォルトの名無しさん
2007/12/29(土) 00:14:21えーと、とりあえずf.posするなということでひとつ。
0736デフォルトの名無しさん
2007/12/29(土) 00:28:121.9系?
手元のruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]でやったら
["0\n", 3]
["1\n", 6]
["2\n", 9]
["3\n", 12]
となったけど。
0737734
2007/12/29(土) 00:47:52(´Д`;)エ−
>>736
そ。1.9.0 の mingw32 も mswin32 も同じ。
f.pos しなければずれないし、LF のみでもずれない。なんでー?
これのせいで移行できん。。。
0738デフォルトの名無しさん
2007/12/29(土) 01:06:35IO#posはbinmodeでしかちゃんと動かず、動かないだけならいいが破壊的副作用がある。
理由を聞かれても困るが、とりあえず今はそういう副作用がある。
0739デフォルトの名無しさん
2007/12/29(土) 01:08:130740デフォルトの名無しさん
2007/12/29(土) 01:11:28早く1.9に移行したいんだが・・
0741デフォルトの名無しさん
2007/12/29(土) 01:12:53# snip
42.times do |i|
foo_bar_baz(i)
end
puts i
これがまともになっただけでも1.9に移行する価値がある。
>>740
UNIXに移行しなよ
0742デフォルトの名無しさん
2007/12/29(土) 01:17:160743デフォルトの名無しさん
2007/12/29(土) 01:17:560744734
2007/12/29(土) 02:24:24THX、既知の仕様じゃ仕方ない、あきらめる。
困らせるつもりはないけど理由ってそんなに複雑なん?
ftell と fseek だけじゃ済まないってことは M17N とかその辺りなんかな。
>>739
赤いモビルスーツに乗りたいんだよぅヽ(`Д´)ノ
0745デフォルトの名無しさん
2007/12/29(土) 02:36:55適材適所だと思うけど
さっくり、Rubyで、プロトタイプ→C/C++に移行とか
0746デフォルトの名無しさん
2007/12/29(土) 02:41:100747デフォルトの名無しさん
2007/12/29(土) 02:56:32いや、1.9でstdio捨てたからftellが使えなくてもっと難しいことしてるんだよ。
大変難しい問題だ。
0748デフォルトの名無しさん
2007/12/29(土) 03:41:58購入厨並みに嫌な言い回しだなおいw
0749デフォルトの名無しさん
2007/12/29(土) 03:42:37別に C++ は普通に使ってるし、要求とかそんなんじゃねえよ
以前からあるデータ整形のスクリプトとか、ちょっとでも速くなるならうれしいじゃん
0750デフォルトの名無しさん
2007/12/29(土) 05:34:45すげぇ厨だな、おいw
0751デフォルトの名無しさん
2007/12/29(土) 06:35:300752デフォルトの名無しさん
2007/12/29(土) 07:31:46んなわきゃねえな
悪かったよ消えるよ
■ このスレッドは過去ログ倉庫に格納されています