タグ

ブックマーク / rubikitch.hatenadiary.org (4)

  • Module#define_methodとsuper - http://rubikitch.com/に移転しました

    define_methodの中にsuperを書くとどうなるか実験。 class A def hoge "hoge" end end class B < A define_method :hoge do "[#{super}]" end end class C < A define_method :hoge do "[#{super()}]" end end RUBY_VERSION # => "1.8.7" B.new.hoge rescue $! # => "[hoge]" C.new.hoge # => "[hoge]" Ruby 1.8.7だと動く。 class A def hoge "hoge" end end class B < A define_method :hoge do "[#{super}]" end end class C < A define_method :hog

    Module#define_methodとsuper - http://rubikitch.com/に移転しました
    cknbstr
    cknbstr 2016/09/14
    “どーしても実装出来なかったからです.誰か,実装方 法を教えてください”
  • Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました

    Emacs Lispでは、気に入らない関数呼び出しを別な関数に置き換えることができる。たとえば、今のウィンドウに表示してほしいのに内部で switch-to-buffer-other-window を呼んでいる場合とか。 こんな場合は、letffletやlabelsを使えばよい。letにはlet*という亜種があるように、letfにはletf*という亜種がある。 関数定義をすげ変えるテストケースを el-expectations.el で記述してみる。 (require 'el-expectations) (require 'cl) ; (eval-when-compile (require 'cl)) でもよい (defun f (x) (* 2 x)) (defun g (x) (* 3 x)) (expectations (desc "オリジナル") (expect 4 (f 2))

    Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました
    cknbstr
    cknbstr 2009/09/19
    コメントにある無限ループの話、同様のことを思った。って消されてるね。
  • Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - http://rubikitch.com/に移転しました

    http://d.hatena.ne.jp/kotorikotoriko/20081103/1225687600 Emacsを使っていると、Ctrlを押しながらうんぬんというのがとても多い。だから指が疲れてしまうという話をよく聞く。俺は10年以上使っているのだが、幸い今のところ指が疲れるということはない。というか、逆に左手小指が異常に鍛えられている気すらする。これはさておき、俺は俺なりに指の負担を軽減する方策を取っている。 skk + スティッキーシフト SKKを使っているとどうしてもShiftを押しまくることになる。これはスティッキーシフトでShiftを押さないようにしている。CamelCaseな変数名を使うJavaプログラマにもおすすめかも。 SKK + スティッキーシフト = 最強 - http://rubikitch.com/に移転しました view-modeを活用する あとは、極

    Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - http://rubikitch.com/に移転しました
  • grep-edit.el無双 - ’(rubikitch wanna be (a . lisper))

    複数のファイルにまたがる特定のパターンを置換する必要があった。そんなときにはEmacs使いならばgrep-edit.elがよい。M-x grepで置換箇所を出力して、M-x query-replaceで置換。これ最強。grep-edit無双。 unix wizardならばperlのワンライナーで置換するだろうけどヘタレな俺には不安で…誤爆するかもしれんし。 http://www.bookshelf.jp/elc/grep-edit.el 俺設定。buffer-read-onlyでハネられたら嫌なので置換時にinhibit-read-onlyをセットしておく。そして、C-c C-cで編集終了したいからそう設定しておく。行へ飛ぶのはEnterで。 grepの結果から探索する目的にはそのうち公開予定のanything-grep.elを使っている。anything.elだと絞り込みができるからね。

    grep-edit.el無双 - ’(rubikitch wanna be (a . lisper))
  • 1