2008-03-01から1ヶ月間の記事一覧

Integer#timesはInteger#stepの特別なケース

http://d.hatena.ne.jp/piyo2-moko/20080306#1204811429 5.times{ print"momo?\n" } を「five times { 処理 }」と英語読みできるところに美しさを感じてほしい。字面の通り「5回処理する」と読める。whileループでも書けるけど、絶対こっちのが読みやすい。 …

補完Windowsを消すにはlcomp.elをどうぞ

http://d.hatena.ne.jp/umeaji/20080306#p4かといって、カーソルが行末にあるときだけ補完を有効にすると、ソースコードを修正するときに補完がきかなくなってしまうので不便かもしれない。lcomp.elを使うと不要な補完候補ウィンドウを消すことができるので…

連続三項演算子

2008-03-06コロンを後にすればバックスラッシュは不要になる。 (t < Time.now.last_month.beginning_of_month) ? '先月以前' : (t < Time.now.beginning_of_month) ? '今月以前' : (t < Time.now.next_month.beginning_of_month) ? '来月以前' : '未来' ちな…

ruby-1.8.6-p114が出てますよ

Ruby インストールからチュートリアルまで - Ruby on Rails 探索中WEBrickの非公開ファイルにアクセスされる脆弱性についてWindows環境のWEBrickで脆弱性が出ているのでバイナリが出たらすぐにアップグレードしておきましょう。

マルチスレッドでHTTP

マルチスレッドと例外 - May the Source be with youNet::HTTPを使うときは自分でURIを解析するのではなくてURIクラスと併用すべき。 あと、「strip!」すれば最後の改行は取れるのでchomp!は不要。 ということで修正しておいた。 #!/usr/bin/env ruby requir…

Rubyでの∞について

無限リストの代替 - かきにっき p (1..(1/0.0)).each {|i| break i if i * i > 1000} おお、なるほど。Rangeでなんとかなる気はしたのだが、無限がわからなくて挫折した。 どうやら「INF = 1/0.0」と自分で定数定義しないといけないみたいだ。Floatだと0で除…

最後のHash引数の{}は省略可能

http://d.hatena.ne.jp/wasisan/20080305/p2 puts f({:y=>100}) は puts f(:y => 100) と書ける。見やすくなったかな?

Lisp系言語のカッコは慣れの問題

Schemeではじめての計算 - Mattari DiaryLispやSchemeは日常使っている中置記法ではないから慣れるまでが大変かも…でも慣れたら普通に読めるので。LispやSchemeは四則演算等他言語だと演算子で提供されるものも関数やマクロであることがポイント。「+」、「-…

GNU GLOBALを使うにあたって

emacs C++ 開発環境 link集 - niitsuma blogGNU GLOBALはエディタ非依存のタグツールでEmacsインターフェースgtags.elもある。gtags.elを改良したので御役に立てれば幸い。 細かいけど「gtag」ではなくて「gtags」ですよ〜GNU GLOBAL on Emacsのタグ選択を見…

SとKしかないLisp

COSAKちょwカオスwww

そこで(global-)?auto-revert-modeですよ

EmacsでPerlのモジュール名を動的に補完する - Kentaro Kuribayashi's blog/path/to/pmlistをauto-revert-modeした状態にしておけばcronの更新が反映されるはず。

M-x shell上でsuを実行したときパスワードを隠す方法

http://d.hatena.ne.jp/miyamotoya/20080304#1204640204どうぞ。 (add-hook 'comint-output-filter-functions 'comint-watch-for-password-prompt)

引数に*をつけると配列展開

配列の頭に * をつけると…? - gan2 の Ruby 勉強日記 a = [0, 1, 2] p *a # !> `*' interpreted as argument prefix # >> 0 # >> 1 # >> 2 「p 0, 1, 2」と同じ。で、pは複数のオブジェクトを連続的に表示するため、このようになる。

わざわざクラスを作るまでもない。そして、breakは値返せるのだ

forループ - もりもりマッチョのmemo「numの2乗を求めていき、1000を超えたら出力する」問題。いくらRubyがオブジェクト指向スクリプト言語であっても、必ずしもクラスを作らないといけないことはない。breakに引数をつけたら、それがループやブロック…

GNU GLOBAL on Emacsのタグ選択を見易くする

GNU GLOBALは素晴しいタグツールだが表示に問題がある。 Emacsで使うと、複数の候補が見付かったときに *GTAGS SELECT* バッファに候補を表示してくれるのだが、これがとてつもなく見辛い。たとば以下は「M-x gtags-find-with-grep undef」をやった結果表示…

ReFe2をどうぞ

refe.elがない - willnetの日記 - RubyistそもそもReFeは古いのでReFe2をどうぞ。Ruby リファレンスマニュアル(通称るりま)と ReFe2 をインストール・ Emacs で参照する・ anything.el との連携 - http://rubikitch.com/に移転しました Ruby リファレンス…

GNU GLOBAL on Emacsのタグ候補選択バッファで現在のファイル・行のエントリを示す

GNU GLOBALは内蔵grepでシンボルを全文検索できるが、候補選択バッファ(*GTAGS SELECT*)では現在のファイルを指し示してくれれば見易くてうれしい。もし、候補が現在行あるならば、そのエントリを指してほしい。たとえば候補選択バッファの内容が以下であ…

Vineってそんなに古かったのか

Mule for Win32 - odz buffer 当時は本家 GNU Emacs 20 に Mule が取り込まれたばかりで Vine なんかはまだ Emacs-19 ベースの Mule だったんだよな。まぁ、もう Mule っていうのも通じなくなっている ような気もする。 Vineってけっこう新しめのディストリ…

正規表現の先読み

? の特殊な使い方 - make world正規表現の先読みはなかなか覚えられない…。あんまり使ったことないんだよね。

scheme-complete.elで補完

scheme-complete.elがすごい - 日記を書く [・w・] はやみずさん Gauche / Thread: [Gauche-devel] ANN: scheme-complete.el - smart tab completionSchemeも補完してくれるようになったか。あれだけ歴史がある言語なのに補完Emacs Lispがなかなか出てこなか…

俺は「ひらがな」キーをescapeにしている

http://d.hatena.ne.jp/hiloicoli/20080303/1204537906俺は日本語キーボードであることを逆に利用して「ひらがな」キーをescapeにしている。ちなみに無変換、変換キーはEmacsのprefix mapに割り当てている。

youtube-dl使ったことある

http://d.hatena.ne.jp/CCG/20080302#p3 youtube-dl使ったことあるのって俺だけかよorz。 俺も使ったことある。とはいえyoutube-dlを知る前に自前でRuby版作ってしまったからなぁ…

ブロック引数は多重代入と同じルール、カッコもつけられる

each ってこんな使い方もできたんだ…知らなかった - gan2 の Ruby 勉強日記 ブロック引数は多重代入と同じ [ [1, 11, 111], [2, 22, 222], [3, 33, 333], ].each{|a, b, c| puts "#{a} #{b} #{c}"} ブロック引数は多重代入のルールが適用される。 配列の要素…

当たってる

Integer#stepどうぞ - http://rubikitch.com/に移転しましたの続き。http://d.hatena.ne.jp/piyo2-moko/20080302#1204460806 ループの最初は図で当たってる。mは1, 3, 5, 7, 9と変化していく。 「print(m, "\n")」と「puts m」は同じなので、 m=1 while m<=1…

Singleton

2008-03-02singletonライブラリを使えばいい。 require 'singleton' class Hoge include Singleton end Hoge.instance # => #<Hoge:0xb7b2ccc8> Hoge.instance.object_id # => -606509468 Hoge.instance.object_id # => -606509468</hoge:0xb7b2ccc8>

「日本タイル型ウィンドウマネージャ推進委員会」なんてあるのかw

jp.tilingwindowmanager.org is Expired or Suspended. ↑「日本タイル型ウィンドウマネージャ推進委員会」のはずだが化けてる(^^; はてなの不具合だからほっとくw俺は何年も前からratpoison使いだ。一般人はでかいディスプレイを欲しがってるようだけど、俺…

異なるスーパークラスを指定したクラスを作成してもrescueできるのがキモい

これってスクリプトそのものの欠陥な気がするのに無印rescueできるのってどうかと思う。なんか気持ち悪いな。こんなことする人なんてめったにいないからまあいいか、みたいな。クラス定義中の例外はclass〜rescueで書けるし。 class X < Array end begin cla…

CapsLockがかかっているのでは?

http://d.hatena.ne.jp/piyo2-moko/20080301#1204389897たんにCapsLockがonになっているからでは?onになってると大文字になる。 そのときCapsLockをもう一度押すとoffになる。

Hpricot = ヘプリッコット?

OSC TokyoでのRubyのお話 - takkan_mのNo planな日常「ヘプリコット」じゃないのか!?

Ruby 1.9.0-1リリース

ついに出たか。 ftp://ftp.ruby-lang.org/pub/ruby/1.9/ にてダウンロードできる。けどまだ開発版。