タグ hp12c
人気順 10 users 50 users 100 users 500 users 1000 usersRubyのendは美の観点から必要だ。END HELLは要リファクタへの警告である。メソッド分離、{ }、Guard、三項、ポリモーフィズムで回避せよ! - hp12c
Rubyのendは構文上の欠点だとされ一部のRubyistからEND HELLと忌み嫌われている その一方でRubyのendを愛しendを綴り続けることで悟りの境地に達したRubyistもいる Rubyistは一日に何度もendと書くことで、 何事にも終わりがあることを日々確認しているのである by @nalsh*1 そしてこの私はというと見習うべきRubyistの姿がそこにあるのにdefと打つと... 続きを読む
プログラミング言語が好き? ~WebSocketのデモ - hp12c
少し前にRubyでWebSocketする記事を書いたよ irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c 折角WebSocketの概要を理解したんだから簡単なデモを作ってみんなに見てもらいたいと思ったんだよ それで次のようなものが出来上がったよ Love Languages? 僕の独断で選んだ12の言語から自分の好きな言語を選んで投票するデモだよ円グラフはW... 続きを読む
irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c
世の中は並列化花ざかりだよ人間はシングルタスクのままなのにプログラミングするときはマルチタスクが要求されるなんて世知辛い世の中になったものだね でも情報革命は始まったばかりだから愚痴ってばかりもいられないよ自分がその波にうまく乗れないとしてもうまく乗ってる人の様を間近で見てみたいと思うんだ そんなわけで.. Rubyのfork Thread Reactor EventMachineWebSocke... 続きを読む
Ruby脳でCoffeeScriptのクラスを理解する - hp12c
Rubyは最高の言語だからもっと普及していいと思うけれどもその障害となっているのはたぶん「Rubyがビジュアルに訴えない言語」となっているからだよたしかにRubyにはRuby/TkとかShoesとかがあるけど現代のプログラミングで「ビジュアル」と言ったら暗黙的に「Web上の」という修飾が付くよね 一方でJavaScriptはjQueryやCoffeeScriptの人気を見る限り最高とは言えない言語... 続きを読む
1から始めるRuby - hp12c
数学の世界で1は数である3歳の子供でもそれを知っているそして私やあなたが老いて死にゆくまで1は数でありそこに疑念の入る余地はない プログラミングの世界でもふつう1は数であるCでもJavaでもHaskellでも1は数でありそれ以上でもそれ以下でもない ところが驚くべきことにRubyの世界では1は数ではないのである 嘘だと思うならirbを立ち上げて次のようにしてみるといい $ irb >> 1.nex... 続きを読む
RubyのメタプログラミングでInterpreterパターンを実装しよう! - hp12c
「Rubyによるデザインパターン」(著:ラス・オルセン)はGoFの23あるデザインパターンのうちの14個についてRubyによる実装とその解説を試みた書籍です Rubyによるデザインパターン作者: Russ Olsen,ラス・オルセン,小林健一,菅野裕,吉野雅人,山岸夢人,小島努出版社/メーカー: ピアソン桐原発売日: 2009/04/01メディア: 単行本購入: 6人 クリック: 70回この商品を... 続きを読む
Rubyのpでメソッドチェーンを覗き見よう! - hp12c
Rubyでメソッドチェーンの途中経過を覗き見るにはKernel#tapが便利だよね (1..10).tap{ |x| puts x.inspect } .to_a.tap{ |x| puts x.inspect } .select { |x| x % 2 == 0 }.tap{ |x| puts x.inspect } .map { |x| x * x }.tap{ |x| puts x.insp... 続きを読む
SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! - hp12c
Sinatraのサイトを開くとSinatraはDSLだと書いてあるSinatra is a DSL for quickly creating web applications in Ruby with minimal effort:(SinatraはRubyで手早くWebアプリケーションをつくるためのDSLです) DSLというのはDomain-Specific Languageつまり特定の目的に特... 続きを読む
Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その2) - hp12c
前回に引き続き「なぜ関数プログラミングは重要か」をRubyを使って解釈し自分の理解に基づいて解説してみます 関数の貼り合せ(ツリー編)貼り合せの能力はリスト上の関数にとどまらないラベル付き順序ツリーの例でこれを示そう Rubyにはリストに都合の良いArrayクラスが組込みであったがツリーに都合の良いものはないので自分でクラスを定義しようツリーはラベルを持ったノードを連結したものとして表現できるので... 続きを読む