タグ

ブックマーク / qiita.com/Nemo_8492 (2)

  • メソッド名に依らない再帰表現 - Qiita

    def 将来名前を変更する可能性が高く、再帰で階乗を計算するメソッド(x) (x == 1) ? 1 : x * 将来名前を変更する可能性が高く、再帰で階乗を計算するメソッド(x-1) end def 将来名前を変更する可能性が高く、再帰で階乗を計算するメソッドの名前を変更しても中身を書き換えずに済む書き方をしたメソッド(x) recursion = lambda{|x| __send__(__method__, x)} (x == 1) ? 1 : x * recursion[x-1] end

    メソッド名に依らない再帰表現 - Qiita
    kasumani
    kasumani 2014/04/05
    メソッド名に依らない再帰表現 0 ストック 0 コメント この投稿をストックする def 将来名前を変更する可能性が高く、再帰で階乗を計算するメソッド(x) (x == 1) ? 1 : x * 将来名前を変更する可能性が高く、再帰で階乗を計算す
  • Array#duplicate(Array#uniqの逆) - Qiita

    Array#uniqの逆のことをやりたかった。 ついでに要素を1つだけ削除するdelete_firstとdelete_lastも定義。 (Array#deleteだと全ての要素が削除される。) class Array def delete_first(obj) if i = index(obj) delete_at(i) end end def delete_last(obj) if i = rindex(obj) delete_at(i) end end def duplicate! unless (u = uniq).size == size u.each do |obj| delete_first(obj) end self end end def duplicate clone.duplicate! || [] end end

    Array#duplicate(Array#uniqの逆) - Qiita
    kasumani
    kasumani 2014/03/01
    Array#duplicate(Array#uniqの逆) 2 ストック 0 コメント この投稿をストックする Array#duplicate Array#uniqの逆のことをやりたかった。 ついでに要素を1つだけ削除するdelete_firstとdelete_lastも定義。 (Array#deleteだと全ての要素が削除される
  • 1