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

The Ruby Way 2nd Edition日本語訳

http://www.amazon.co.jp/o/ASIN/4798115339/503-6968837-0465548?SubscriptionId=1CVA98NEF1G753PFESR2今更という感じ…あんだけぶ厚い本なんだから翻訳に時間がかかるのは仕方ないんだけど、それにしても遅い。原書が出てから1年半か。 Ruby 1.9が出た今、…

Enumerable#mapの引数にSymbolを持たせる案

InfoQ: Ruby 1.9 のSymbol#to_procと(入ったばかりの)Procのカリー化 - kなんとかの日記 Enumerable#map を拡張して、第 1 引数に Symbol を指定したときは動作を変 えるようにしたほうがわかりやすかった。(1..100).map(:to_s) # これは (1..100).map{|x| x…

RDoc 2.0.0でRIが高速って…おい

RDoc 2.0.0 リリース - kなんとかの日記経由。RDoc 2.0.0でriが高速になったと書いてるけど、fastRI知らんの?

RubyはCommon Lispっぽいし、PythonはSchemeっぽい

Ruby vs. Python は Lisp vs. Scheme に似ている - kなんとかの日記 Ruby, Lisp -- 機能がリッチで仕様は複雑、変数と関数の名前空間が違う Python, Scheme -- 機能を絞っていて仕様は簡素、変数と関数で名前空間が同じ 厳密にはLispはCommon LispやEmacs Li…

90日経過

作業用PCただいま3ヶ月間連続稼働中。

そこでStructですよ

「怠慢はプログラマの美徳」というけれど - kなんとかの日記俺がJavaに萌えない理由を100%代弁してくれている。それはさておき、 data = [ {'name'=>'Foo', 'age'=>20, 'email'=>'foo@mail.com'}, {'name'=>'Bar', 'age'=>21, 'email'=>'bar@mail.net'}, {'n…

expand-file-name

2008-04-27 (setq simple-hatena-bin (expand-file-name "perl ~/local/bin/hw.pl")) これだとperlのパスが展開されますよ。というか "perl ~/local/bin/hw.pl" の前にカレントディレクトリが前置される。 たとえば /m/home/rubikitch/memo/hatena で評価す…

プログラミング言語はLispに回帰しているんだろう

Lispはいまだ一騎当千の最強言語の地位を不動のものにしている(と思う)が、考案されたのが50年も昔というのには驚かされる。古代の神秘という感じ。 歴史には詳しくないけど、初期のLispからlambda式やGCってあったよな?あと、Schemeも30年以上前に生まれ…

趣味でRubyしててもいいじゃないか

http://d.hatena.ne.jp/scinfaxi/20080425/1209108271 趣味で Ruby ・ Python ・ PHP ・ Perl なんかをやる 奴の気がしれない。それ、趣味じゃなくて仕事じゃん。給料もでないのに Ruby を書く奴の気 がしれない(作者でさえ、それで生活しているのに)。 Ruby…

裏山シス(画像略)

プログラマーは基本的に野郎だらけの世界なので、女子はめずらしい。女の子にやさしくする人は多いから、いろいろ教えてもらえる分女の子は得だろう。数が少ないから先輩女性プログラマーともすぐに仲良くなれるだろうし。ていうか、はてなじゃ女の子は重宝…

アーカイブファイルって知ってる?

http://d.hatena.ne.jp/piyo2-moko/20080425#1209086138 rubima001〜はあった。けど、中身がない!?ん?serber.rbがない!?どこ〜 「rubima011-cgi.zip」はZIPというアーカイブファイル。アーカイブファイルは書庫と言われているもので、複数のファイルを…

正規表現は奥が深い

http://d.hatena.ne.jp/piyo2-moko/20080424#1209040263 /ぱたーん/ =~ マッチングしたい文字列 正規表現はそれだけで一冊の本になるくらいめちゃくちゃ奥が深いのでゆっくりと進もう。最初から全部覚えようとしても挫折するだけなので無理しないように。

yasnippetと複文は相性が悪い

http://d.hatena.ne.jp/mssh/20080424#1209018751yasnippetの話題が絶えない今日このごろ。 #name : if ... else ... end # -- if ${1:condition} $2 else $3 end snippet発動中にsnippetを発動することができないっぽいので、現状ではこっちの方がいいので…

初心者におすすめな言語…PythonかRubyかな

プログラムっておいしいの? - iGirlんー、趣味ならPython、Rubyあたりをおすすめするよ。Java、C言語、C++、C#は趣味では敷居が高いと思うね。LispやSchemeはもってのほかwPythonは教育用だったはず。俺は使わないけど、おすすめしている人が多い。R…

ねんがんのCodeReposアカウントをてにいれたぞ!

net

申請してから4日くらいかかったけどやっともらえた。 さて、yasnippetの共有snippetとか未リリースのソフトウェアを出すとするか。 追記 ああ、小物からどんどん公開していこうと思う。まさにもってけ!という感じ。実はtwitterはまだやってなかったりする。…

ネットの未来がかかってる

net

http://miau.jp/index1208861775.phtml青少年ネット規制法案なんて馬鹿なことをやるほど日本は堕ちぶれるのか。それは絶対に可決させてはならない糞法案だ。 言う通り情報リテラシー教育は不可欠だ。小さいころからやっておくべきだとは俺も思う。だけどなぁ…

「スーパー」マリオブラザーズ

http://d.hatena.ne.jp/authorNari/20080422/1208880928動きがスムーズで感動した。ってか誰かにつっこまれてるけど「マリオブラザーズ」は別のゲーム。マリオブラザーズは1画面でスクロールなしで上の土管から亀や蟹がやってくるやつ。こんなの。アレを略す…

フォルダが違うのだろう

http://d.hatena.ne.jp/piyo2-moko/20080423#1208912872それはfontsize.rbがそのフォルダにはないからだろう。 どのフォルダにfontsize.rbを作ったのかな? 「cd フォルダ」を実行してそのフォルダに移ってみよう。もしや、迷子になってしまった!? RDEの設…

はてな記法わかんねえ

行中にそのまま「<」とか書くのって「<」とかしないとだめなのかな??RDに慣れてるもんで、うざくてたまらん。RDの「(('〜'))」に相当する記法ってなんだろうか…その中だとはてな記法が解釈されずにそのまま書かれるやつ。

リダイレクト

http://d.hatena.ne.jp/piyo2-moko/20080422#1208866102 ruby fontsize.rb > fontsize.html コマンドプロンプトを開いて上のコマンドを打ち込むのだ。「ruby fontsize.rb」を打ち込むと結果が画面に出てくるけど、「> fontsize.html」をつけると画面に表示さ…

クォートばかりだな

http://d.hatena.ne.jp/piyo2-moko/20080422#1208866102 font_table.each {|key, value| print '<font size="', value, '">', key, '</font><br>', "\n" } たしかに「"」と「'」ばかりでわかりにくいな。俺ならこんな風には書かないが、解説しておこう。まず、printに6つの引数をつけている。 ・ '<font size="' ・ value ・ '"></font>…

buffer-nameではなくてbuffer-file-nameだよ

アクティブなバッファから絶対パスを得る - gan2 の Ruby 勉強日記 (expand-filename (buffer-name)) 正解は (buffer-file-name) だよ。(buffer-name)はあくまでバッファ名なので変更できる。たまたま(file-name-nondirectory (buffer-file-name))がバッファ…

puts等の出力メソッドはIO#writeを呼んでいる

eshell で標準出力に出力されるタイミングが遅い問題について - gan2 の Ruby 勉強日記 puts 以外のメソッドについてはいちいちいくつも再定義するのはめんどいなーとか思ってたんだけど putsやprintなどの標準出力への出力メソッドはIO#writeを呼んでいる。…

バッファリングの問題だな。

eshell で標準出力に出力されるタイミングが遅い問題について - gan2 の Ruby 勉強日記 alias :_puts :puts def puts(*args) _puts *args $stdout.flush end バッファリングの問題のようだから、再定義しなくても「$stdout.sync = true」でよくないかな?し…

yasnippetのインデントはやっぱりおかしい

たとえばブロック付きメソッド呼び出しのdoを定義してみる。 #name : do ... end # -- do $0 end で、doを展開させるとこんなインデントになってしまう。 def x hogehoge do end end ソースを読んだが、narrow-to-regionでnarrowingしてsnippetを挿入し、挿…

yasnippetはインデントしてくれないのか

ruby-modeで「Comp」をyasnippetに展開させると、 include Comparable def <=> other end と出てくれるが、indentしてくれない。skeletonでもindentしてくれるのに…だれかhackしてくれてるかな。 追記 と思ったら、今のインデントを維持してくれるんじゃん!…

yasnippet.elとskkとの相性問題を回避

yasnippetとskkの相性が悪いかも - http://rubikitch.com/に移転しました遅れ馳せながらyasnippetの導入を真剣に考えた。おすすめ通り、yas/trigger-keyを space にしといた。しかし、yasnippetとskkは相性が悪く、spaceをおしてもスペースが入力できない。 …

そこでskeletonですよ

Ruby が PHP に負けている点 #2: 複文の終わりを表す予約語が end しかない - kなんとかの日記 Ruby では end しかないから、if 文や for 文がネストしたときに end を書き忘れたりタイプ ミスしたりすると、どこを間違えたのか探し出すのが非常に困難である…

Array#uniqとUnix系OSのuniqの挙動が違う件

rubyのuniqがun*xのそれと動きが違う件 - 計算機と戯れる日々 un*xのコマンドのuniq ~$ echo -e "1\n2\n2\n3\n2\n2\n"|uniq 1 2 3 2 一方rubyは >> [1, 2, 2, 3, 2].uniq => [1, 2, 3] FAQな気がする。 追記 Unix系OSのuniqコマンドは「連続した重複行を取り…

Enumerable#injectはおかしくない

rubyのinjectにはバグがあるのか? - 計算機と戯れる日々 [1, 2, 2, 3, 2].inject([1]){|a,i|p a;p a[-1];a<<i} # => [1, 1, 2, 2, 3, 2] # >> [1] # >> 1 # >> [1, 1] # >> 1 # >> [1, 1, 2] # >> 2 # >> [1, 1, 2, 2] # >> 2 # >> [1, 1, 2, 2, 3] # >> 3 [1, 2, 2,</i}>…