holysugarの日記

 | 

2006-09-27

Array() その2  Array() その2 - holysugarの日記 を含むブックマーク はてなブックマーク -  Array() その2 - holysugarの日記

そうですよね

自分でも歩きながら考えたり,さっき検索したら[ruby-dev:19155]ってのも出てきてやっぱり設計的(?)に手抜きすぎかと.

まぁ,もちろん普段はそんなの書かないんですが,ではどこで使ってしまうかというと.

Rails で param[:hoge] が複数の値を取るとすると,(GETだと)パラメータは ?hoge[]=alice;hoge[]=bob のような形になると思うんですが,?hoge=foo と書かれた時も同じように扱いたい場合が出てきて,それが増えたらいつのまにか使いまくっていた,という…….やっぱりどう見ても手抜きですね.

あとこう書けるのを今更知りました.

*label = label        # 配列でなければ配列化
*label = *label        # 配列でなければ配列化
ちなみに Object#to_a は警告が出るので使わないようにしています.でもString#to_aは(Object#to_a相当の機能に思えるのに)警告が出ないなぁ.Enumerable だからか.

というか  というか - holysugarの日記 を含むブックマーク はてなブックマーク -  というか - holysugarの日記

俺はコードを信用しなさすぎだしエラーエラーでいいじゃん. そして使いまくっているといいつつ直す箇所は3箇所だった.いいすぎだ. 最初は Model.find_tagged_with(params[:id]) とか書くために書いたっぽい.

*a = a と *a = *a  *a = a と *a = *a - holysugarの日記 を含むブックマーク はてなブックマーク -  *a = a と *a = *a - holysugarの日記

http://rubyist.g.hatena.ne.jp/secondlife/20060927/1159341594 これなんですが,自分の意図するところは違ってました(すいません).
*a = a 
だと a = [a] と同じ.
*a = *a 
だと a = Array(a) と同じ.意図するのはこちらでした. マニュアルの該当箇所 しかし,これを書くなら素直に a = Array(a) でいい気はします.
 |