トップページ > プログラム > 2014年03月30日 > DA7dDHvX

書き込み順位&時間帯一覧

3 位/195 ID中時間01234567891011121314151617181920212223Total
書き込み数0003000000013020000000009



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
オブジェクト指向の活用方法を教えて下さい

書き込みレス一覧

オブジェクト指向の活用方法を教えて下さい
142 :デフォルトの名無しさん[sage]:2014/03/30(日) 03:10:55.68 ID:DA7dDHvX
メソッドチェーンだと書いている順番に
処理が実行されるからわかりやすいんだよな。
オブジェクト指向だと、メソッド名短くても
かぶらないからその点でもメリットがある。
オブジェクト指向の活用方法を教えて下さい
144 :デフォルトの名無しさん[sage]:2014/03/30(日) 03:28:36.95 ID:DA7dDHvX
> baz(bar(foo(value))) という逆順で書くのではなく、
これって引数無いからまだわかりやすいけど、
引数あると見にくいんだよね。

baz(bar(foo(value, 1, 2), true), "test");

呼び出しが深くなるにつれて、bazと"test"みたいに距離がどんどん離れちゃう。


これがメソッドチェーンだと
value.foo(1,2).bar(true).baz("test");
このように関数と引数が近くに集まる。
オブジェクト指向の活用方法を教えて下さい
145 :デフォルトの名無しさん[sage]:2014/03/30(日) 03:30:32.83 ID:DA7dDHvX
これもオブジェクト指向の活用方法の一つだろうね。
オブジェクト指向の活用方法を教えて下さい
150 :デフォルトの名無しさん[sage]:2014/03/30(日) 11:52:19.72 ID:DA7dDHvX
>>146
つまり、

baz(bar(foo(value, 1, 2), true), "test");

こういうのを

v = foo(value, 1, 2);
v = bar(v, true);
v = baz(v, "test");

って書くってこと?

おっと、メソッドチェーンとは関係ない話だったから
関数の方でレスしちゃったw
オブジェクト指向の活用方法を教えて下さい
152 :デフォルトの名無しさん[sage]:2014/03/30(日) 12:01:26.08 ID:DA7dDHvX
訂正(笑)

> baz(bar(foo(value, 1, 2), true), "test");

bar( ) の挙動確認したいから、この行の bar( ) の呼び出しでブレーク掛けられるデバッガ教えてくれ
オブジェクト指向の活用方法を教えて下さい
153 :デフォルトの名無しさん[sage]:2014/03/30(日) 12:07:13.82 ID:DA7dDHvX
メソッドチェーンならこれが使える。

メソッドチェーンの p デバッグ? それ tap でできるよAdd Starasakichy
http://d.hatena.ne.jp/mas-higa/20100805/1281018189

function p(obj) { print obj }
value.foo(1,2).bar(true).tap(p).("test");


まあ関数でも使えるよ。見難くなるけどねw
baz(p(bar(foo(value, 1, 2), true)), "test");
オブジェクト指向の活用方法を教えて下さい
155 :デフォルトの名無しさん[sage]:2014/03/30(日) 12:47:55.23 ID:DA7dDHvX
えと、ああ、うん、
言語の違いっていうのは、問題がどうとかじゃなくて
読みやすさと書きやすさの違いの話なんだけどね。
オブジェクト指向の活用方法を教えて下さい
162 :デフォルトの名無しさん[sage]:2014/03/30(日) 14:30:58.29 ID:DA7dDHvX
それでどうやって一行で書くの?
オブジェクト指向の活用方法を教えて下さい
164 :デフォルトの名無しさん[sage]:2014/03/30(日) 14:58:29.04 ID:DA7dDHvX
メソッドチェーンまで糖衣構文かよw
これのどこが構文なんだ?
ライブラリの仕様だろ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。