< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事
N :次の記事(スレッド移動)
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
出沢です
有り難うございました、これですっきり書けました。
> def deletable?(roll)
> case result = Deletable[roll][@status]
> when true, false ; result # true/falseならそのまま
> when Symbol ; send(result) # Railsなので send が定義されてました
> else ; raise ArgumentError
> end
> end
すっきり == caseもなし と固定観点が曇らせていました。
今回の新発見
case resurt.class
when True,False ;result
when Symbol ; send(result)
end
でなくてよいのですね。
> # ブロックパラメータの中で()が使える
これ知りませんでした。
rubyの柔軟性ってすごいですね
ご指摘いただいた
> # 判定メソッド(メソッド名がよくないので意味のわかる名前に改名すべき)
> private # 内部用なのでprivateに
> # 数字よりもシンボルを使ったほうが可読性が上がる
は、実装ではそうしてあります。
シンボルでは値が代入できない(ですよね?)ので、定数で ですが。
> (1..3).each{|roll| # 1〜3を表現したいなら範囲オブジェクトを使う
実は roll も status も連続ではないのです。
ですので 定数の列挙の配列としています。