[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 14:42 / Filesize : 176 KB / Number-of Response : 723
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 34



1 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 08:39:14 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
   (理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に完全対応していないためです。)
 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。

関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・モジュール名やエラーメッセージでググる
 ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/
 ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(自力で訳さずなるべくそのままで)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。

■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

220 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 09:44:36 ]
>219
ごめん。Windows持ってないんで検証出来ないんだ。
なんかチェックボックス外したら使えるという話は聞いたことがある。
手元のDebianではちゃんと見れた。

XPのSP3以降?ではそういう警告が出るようになったらしい。
Vistaで警告が出てたときはチェックボックスを外したら使えた。

221 名前:220 mailto:sage [2010/02/05(金) 09:46:14 ]
220で書いてるVistaはたまたまそこにいた人が使ってたやつね。


222 名前:デフォルトの名無しさん [2010/02/05(金) 11:01:26 ]
終わった話だけど。
block = proc {|x| x.to_i }
%(1 2 3).map(&block)
の &block のところに &:to_i と書けるという話であって、
ブロックを取らないならEnumeratorを返すという話ではない。
# そもそも1.8.7のmapは互換せ(ry


223 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 11:14:26 ]
>チェックボックス
もしかしてIEのセキュリティレベルを落とさないと見れない仕様か

デフォルトの状態でリファレンスマニュアルが読めないとか
ここまでくるとドザーに対する嫌がらせに近いな

224 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 11:44:27 ]
>>223
嫌がらせはそのへんにしとけ

よく知らないけどセキュリティ絡みならそのchmのプロパティで「ブロックの解除」を試してみたら?

225 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 11:48:33 ]
chm 自体がそういうものになった
なんでもかんでも Windows 叩いてオナニーしてる厨には理解できんだろうが

ttp://support.microsoft.com/kb/902225/ja
> これは正常な動作であり、セキュリティ更新プログラム 896358 および
> Windows Server 2003 SP1 のインストールの結果として予期されている動作です。


226 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 12:13:05 ]
>>219
Windows開発者にはかなり既知な問題なのですが、
chmファイル単体をそのままネットから落とすと、セキュリティがらみのフラグがつくんです。
exeファイル単体をネットから落とした時もいちいち確認してくるよね?

>>224 もいってるけど解決策はchmのプロパティでブロックを解除してやる

227 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 12:25:52 ]
chm自体が規格として取り残されたというか…
そもそも表示にIE使う時点で将来的に規定事項だったその時がやって来ただけというか…

228 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 12:29:03 ]
配布する人が
「XPやVistaや7の人は俺を信用してチェックボックス外してね」
と警告するしかないな



229 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 14:46:34 ]
zipped htmlでくれ

230 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 14:50:20 ]
全文検索が問題なんだよね
標準で検索フレームがつくのがchmの大きな利点
それさえ別途便利に使えれば素のHTMLの配布で問題ない

というかchmの検索はもうちょっと賢くなって欲しい
というか一般語の検索に特化されててプログラミング用語やトークンの検索に向かねー

231 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:38:21 ]
>>224, >>225, >>226
ありがとう
また一つ賢くなった

232 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 16:18:43 ]
pc12.2ch.net/test/read.cgi/tech/1155031689/
【ActiveScript】RubyをWindowsで使うスレ【GUI】

233 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 19:23:17 ]
:to_i.to_procがproc{|x| x.to_i}になるってのは
マニュアルのどこに書いてあるの?

234 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 19:50:56 ]
>>233
ttp://doc.okkez.net/static/191/class/Symbol.html
> self に対応する Proc オブジェクトを返します。

「self に対応する Proc オブジェクト」ってなんじゃらほという疑問の答はむろん書いてない
Ruby のマニュアルなんてそんなもんだ

235 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 20:16:44 ]
>>234
そこはすでに読んだ〜よ

236 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 20:36:29 ]
素人はこれだから
Rubyはソースコードに全て書いてある

/*
* call-seq:
* sym.to_proc
*
* Returns a _Proc_ object which respond to the given method by _sym_.
*
* (1..3).collect(&:to_s) #=> ["1", "2", "3"]
*/

static VALUE
sym_to_proc(VALUE sym)
{
return rb_proc_new(sym_call, (VALUE)SYM2ID(sym));
}

ほら書いてあった

237 名前:デフォルトの名無しさん [2010/02/05(金) 20:43:18 ]
selfで示されるメソッドを呼ぶProcを返す。
自身で示されるメソッドを呼ぶProcを返す。
ならまだ分かるか。さあるりまにフィードバックしよう。


238 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 20:51:32 ]
>>236
利用法しか書いてないのがそれっぽいといえばそれっぽいな
Cレベルのコメントでもそれなのか



239 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 20:54:53 ]
[1,2,3].map(&:to_s)
[1,2,3].map(&:to_s.to_proc)
[1,2,3].map(&Proc.new {|obj| obj.to_s })
[1,2,3].map{|obj| obj.to_s }

やっと腑に落ちた
横レスだけどみんなありがとう

240 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 20:55:08 ]
いや一応、これで必要十分なコメントではあると思うぞ
Symbolクラスのメソッドとして単体で吟味したときわけわかめになるだけで
それこそ

:mes.to_proc #=> proc{|o| o.mes}

と一言書いてもらえてれば納得度が上がったと思う

241 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:05:08 ]
lines.collect(&:split/,/)とかやりたい

242 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:18:45 ]
[1,2,3].map(&:to_s.to_proc)
から
[1,2,3].map(&Proc.new {|obj| obj.to_s })
が腑に落ちない

243 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:27:11 ]
>>242
>>240


244 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:05:10 ]
>>242
カッコで括って評価の順序を明確にすれば理解出来るか
1. [1,2,3].map(&:to_s)
2. [1,2,3].map(&(:to_s.to_proc))
3. [1,2,3].map(&(Proc.new{|obj|obj.to_s}))


245 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:05:51 ]
ん?
:mes.to_proc #=> proc{|o| o.mes}
が腑に落ちないと言ってるんだが?

246 名前:デフォルトの名無しさん [2010/02/05(金) 22:08:54 ]
「Symbol#to_procがそういうprocを返すように定義されている」


247 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:09:04 ]
そりゃ失礼した。
どう腑に落ちないのかはよくわからんが。

248 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:14:26 ]
仕様です→なんでそんな仕様?
ってことでしょ
>>245はこんなとこじゃなくMLででも聞け



249 名前:デフォルトの名無しさん [2010/02/05(金) 22:18:12 ]
なんでこういう仕様かっていうと[1,2,3].map(&:to_s)って書くため
気持ち悪いのは元々Railsだから仕方ない

250 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:26:57 ]
名前
名前、ばかにする
ばかにする、あんた、名前

1だけ・・・
出会い頭に、おたんこなす宣告から、あんたばかぁ、から丁寧にばかにするまで
レパートリーに富んだ構文糖に乾杯 >> 244

251 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:27:02 ]
obj.methodsでシンボルの配列が帰ってくるから
関連がないということもない
と言えないこともない

252 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 22:58:44 ]
いや、どこにそういう仕様だと書いてあるのかってことなんだが

253 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 01:21:49 ]
AがnilだったらAにxを代入

A = x unless A

これより簡潔な書き方ってあります?

254 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 01:25:43 ]
おま、それ x が真だったら短絡して A = x と同じ意味になっちゃうぞ

255 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 01:28:33 ]
あれ?そうなっちゃいます?
rubyってifとかunlessを倒置して後ろに置いてるのをよく見ますけど。

256 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 01:41:21 ]
弁解の余地もございません
>>254は撤回した上で吊ってきます

unless修飾子なんか嫌いだグスン

257 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 02:05:03 ]
>>253
a = a or x
a ||= x

258 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 02:54:23 ]
>>137

了解です。できれば Ruby/GTK2 から扱いやすいプロッターがあるといいのですがなかなか見つけられません。



259 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 03:02:50 ]
>>257はfalseでも動作するので注意
まあ元のunless自体同じような動作だが

260 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 07:57:34 ]
>>230
インデックスの仕方が微妙なせいで、記号とかアンダーバー含むと全然検索できないw
chm便利なんだけど、検索は本当に困る

261 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 10:17:38 ]
>>253 に関連して

a or next
a or raise

みたいなイディオム?をたまに見かける

262 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 10:30:03 ]
read or die

263 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 10:31:17 ]
>>254
意味がわからん。
>>253が間違えてるとは思えない自分に誰か救済の手を


264 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 10:33:27 ]
>>263をさらに撤回する ほんとうにすまない

265 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 13:54:41 ]
お前らミス多すぎるだろ・・・俺もミスってた

a = a or xは優先順位の都合で
(a = a) or xとして結合するからxの代入が起きない

a = (a or x)
a = a || x
と書くのが正しい

なんにせよ初期化のイディオムとしては、||=を使うこと
(簡単な解説を兼ねてorを並べたのが失敗)

falseの扱いは>>259の言う通り根本的な問題だから触れなかったけど
必要なら時はa = a.nil? && xとかやって
まあfalseが入ってるかもしれない変数にこの手の初期化はあまり行わないから普段は問題ない

266 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 13:57:09 ]
またミスったああああ

a = a.nil? && x
これダメ絶対、素直に後置してください・・・

267 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:11:35 ]
gdgd

268 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:12:26 ]
ネスティングを少なくする書き方をおしえて下さい。



269 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:17:08 ]
>>268
Rubyのネストは怖くない
ブロックは大いに使え

が、まあ、self を返すブロックつきメソッドとか map みたいなコレクション変更メソッドとか
そういうのを1行でメソッドチェインするようになると結構見栄えはよくなるよ
メソッドチェインするときはブロックは { } で書いてね
end のあとにドットつけられると動作上問題なくても見栄え的にぐんにゃり

270 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:23:37 ]
少し長くなった(ネストした)と思ったらさっさと別メソッドに分けるとか
簡潔なメソッド名を考えると、コメント代わりになるし動作の見直しにもなるのでおすすめ

271 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:25:08 ]
メソッドが10行超えたらほぼ確実にどこかおかしいな

272 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:27:46 ]
>271
kwsk

273 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:40:56 ]
5行越えたらFワードって聞いたぞ
外人さんの過激派はさすがに煽り方が違う

274 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:43:07 ]
まあ、メソッド多いほうがテストしやすいしな

とか言ってるとがっつりプライベートメソッドにされてたりする
気持ちはわかるが

275 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:33:30 ]
・メソッドが10行を超えることは望ましくない
・1行が80byteを超えることは望ましくない
はRubyのコーディングルールとしてよく採用されている

276 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:44:58 ]
1行80bytesは理由があるからともかく
メソッド10行制限ってのはカルト宗教の世界だな

277 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:49:22 ]
> 1行80bytesは理由があるから
ねえよ
そっちのほうがただの宗教だ
悔しかったら「lessやgrepは色づけしないから色付けに頼った視覚効果のスクリプトを書くべきではない」レベルまで言え

278 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:52:33 ]
10行ルールってまじ?
標準ライブラリのほとんどがボツってこと貝?



279 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:53:24 ]
メソッドが長いとリフレクションしにくい

280 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:57:01 ]
>>277
あ、どっかでそれ読んだ
「お前の環境がヘボいだけだろ」とか心の中で突っ込んだ覚えがある


行数は、本来は行数そのものが問題じゃないよね
短い定義の適切なメソッドの作成を目指すべきというのが本論
その現実的な目安として、やっぱ5行…は過激派だが、10行くらいがポイントだと思うなあ
これより長かったら分割手段を本気で考えたほうがいいかと

281 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 16:58:58 ]
>>278
まあ基本的には

めちゃくちゃベーシックな添付クラスだからごてっとするのも致し方ない面はあるが、
それでももうちょいこまごまとしててもいいとは思う
特にユーティリティ的なクラス

282 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:03:26 ]
はいはい、なんでもサブルーチンサブルーチン(笑)
どんどん分割しよう。

283 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:07:32 ]
空行だらけのBlogみたいで読みにくいからやめてくらさい

284 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:18:27 ]
あれはblogシステムでは「段落」としてるものを、ユーザーが「物理行」に使ってるためだろ

285 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:25:41 ]
横書き日本語なのに段落を前後空間空けとしてレンダリングするブラウザがアホなだけ

286 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:28:32 ]
>>277
べつに誰も悔しくないと思うけどw

287 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:03:47 ]
>>275-278
Railsのプラグインのソースを読む機械が多いが、
ちゃんと作ってるプラグインはモジュール化しまくり、メソッド分割しまくりだな。
なんでこんなところまでちゃんとモジュール化しとんねん!て思うほど

288 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:49:17 ]
>>275-276
漏れは関数は25行以内(最悪でも50行程度)って教えられた
80x25のコンソールで一画面か、印刷して一ページのサイズ



289 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:53:55 ]
>>277
それがあるんだよ
たまに
def hoge()                                        p 123                                        end

みたいに改行せずにエディタの80文字の折り返しだけで次の行へいったつもりでソース書く馬鹿がいるんだよ
(っていうか昔の糞エディタだと2行に分かれていたものが1行に繋がってしまうケースとか良くあったんだ)

290 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:56:36 ]
10行君は初心者。

291 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:58:11 ]
>>284
いや、実態は携帯で長ったらしくスクロールさせてページ切り替わると
リロードが増えてアクセス数も増えるみたいな都市伝説があるらしい

仮に100歩ゆずってそれでリロードされるのが事実だとしても
そんな方法でアクセス数増やしてなにが嬉しいのかと

292 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 09:59:30 ]
>>289
emacsですねわかります

293 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:00:10 ]
>>288
それは従来のプログラミング言語の話だろ
わざわざRubyにそのまま持ち込む必要はない

294 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:01:16 ]
Reekっていうコードチェッカを興味本位で使ってみたが
メソッド定義が10行以上だと「長い」と指摘してくるな

295 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:02:31 ]
あんまり長くなるとインデントも深くなってくることが多いからな
すっきりさせるために短く書くのは悪いことじゃない罠

296 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:04:24 ]
>>292
一太郎だろ

297 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:05:50 ]
>>291
アメーバだっけ?芸能人ランキングのあるやつ
改行増やしてPV増やしてランキングの上を目指すんだって
本当かどうかは知らない

298 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:09:36 ]
資源の無駄遣いだなぁ

エコに反してるから改行撲滅キャンペーンした方がいいぞ



299 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:10:03 ]
ああNON STYLEの石田だっけ?

300 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:10:45 ]
とりあえず、お前らの権限で fileutils.rb とか net/imap.rb に
10行ルール適用してもらってよ。

301 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:32:50 ]
>>291 >>297
あれはPVアップ界王拳の一種で、ケータイで見たときに複数のページに分割されるのでPVがあがるってやつ
芸能人もそうだけおdPV多いとアメブロはお金もらえる仕組みがある

最近PCの情報サイトでもページ分割するのちらほら見るよね、携帯向けじゃなくても
あれPV上げるため

302 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:44:45 ]
>>293
言語の話じゃなくて環境の話じゃね?

303 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 10:51:12 ]
>>294
それ面白そうだなw 使ってみるか

304 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:12:10 ]
>>303
やめとけ
警告多すぎて森に隠れる木の状態になるぞ
igonoreの指定も面倒だし

305 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:14:38 ]
何事も原理主義はよくないと思います

306 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:16:32 ]
めちゃくちゃ実利だと思うが…

307 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:26:24 ]
定義済みのクラス特異メソッドをprotectedにするのってどうすればいいんでせう?

class DB
protected
self.new
super
end
end

してもクラス外で普通にDB.newできてしまったorz

308 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:28:00 ]
protectedにしてどうしたいの?



309 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:31:07 ]
具体的には、DBのインスタンスを作成する手段をDB.openに限定したいんです。
db.closeするのを忘れたくないんで。

310 名前:307 mailto:sage [2010/02/07(日) 11:40:07 ]
class Hoge
private
def self.hoge
puts 'hoge'
end
end
Hoge.hoge

でも動いちゃいますね……
そもそもクラスメソッドをprivateにするのってどうすりゃいいんでしたっけ?

311 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:40:33 ]
「DBクラスいじるならopen使え」とマニュアルに大きな赤い字で書いておけ
それとブロックつきopenの提供で充分

312 名前:307 mailto:sage [2010/02/07(日) 11:42:15 ]
www.gesource.jp/weblog/?p=473

吊ってきたいと思います。
スレ汚しすいませんでした。

313 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:48:31 ]
>>258

素直にgnuplot使うのが手っ取り早い
rgplot.rubyforge.org/


314 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 12:24:44 ]
rubyのprivateにはいつも混乱させられる
うまい覚え方はないものか

315 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 12:44:35 ]
俺も覚えられてない・・・
privateがC++なんかのprotected相当なんだっけ?

316 名前:デフォルトの名無しさん [2010/02/07(日) 13:01:40 ]
rubyのprivateは、
「任意のレシーバに対する呼び出しが出来ない」
関数っぽく書く呼び出し方のみが可能ってことね。


317 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 13:06:54 ]
「RubyでC++やJava再現しようぜ時代」の負の遺産
こんなオモチャ機能は1.9で無くなってもよかった

318 名前:デフォルトの名無しさん [2010/02/07(日) 13:07:32 ]
privateよりprotectedのほうが理解されていないと思う。




319 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 13:17:06 ]
>>317
少なくとも名称は変えるべきだったよなあ

320 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 13:23:05 ]
>>316
つまり、
class Chinko
  private def manko
  end
end
の場合、

class Chinko内で
def sounyu
  manko
end

のような呼び出しはOKだが、

chinko = Chinko.new
chinko.manko
は駄目なんだっけ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<176KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef