あどけない話

Internet technologies

Ruby

高階関数と無名関数

Ruby ではブロックが自慢らしい。制御構造を自由に作れる感じがするのだと言う。 obj.foo do |x,y| x を使う y を使う end これは、高階関数の最後の引数として無名関数を渡していることに他ならない。他の言語でどうなるか考えてみる。JavaScript ではこう…

Electric な Ruby の end (4)

という訳で、最新版です。関数呼び出しの括弧の中に if があっても大丈夫なはずです。 (defvar ruby-elect-keyword '("def" "if" "class" "module" "unless" "case" "while" "do" "until" "for" "begin" "end")) (defvar ruby-elect-regex (mapconcat (lambd…

Electric な Ruby の end (3)

Electric な Ruby の end (2)で気付いたことを直しただけで、公開していませんでしたが、これが現在のバージョンです。コメントが付いたので、思い出しました。(_ _) (defvar ruby-elect-keyword '("def" "if" "class" "module" "unless" "case" "while" "do…

Electric な Ruby の end (2)

Electric な Ruby の endですが、ブックマークのコメントにバグが指摘してあったので、直してみました。バグの報告は、ブログのコメントに書き込んで頂けると嬉しいです。(_ _) (defvar ruby-elct-regex "def\\|if\\|class\\|module\\|unless\\|case\\|while…

Electric な Ruby モードの end

Ruby に付いてくる ruby-electric.el では、たとえば class と打った後に空白を入れると end が挿入されます。僕が欲しいエレクトリックな機能は、これじゃありません。end と押すと対応する単語に飛んでほしいのです。というわけで作ってみました。別ファイ…

Rubyのローカル変数

Ruby のローカル変数の仕様が、さっぱり分らず、いろんな文献/ページや、実験をしてみてようやく分りました。注:これは、Ruby ではどう書くべきかということではなく、仕様はどうなっているのかという話です。 スコープ Ruby 書籍には、ローカル変数には以…