![iPhoneでdRubyが動きました - 思っているよりもずっとずっと人生は短い。](https://cdn-ak-scissors.b.st-hatena.com/image/square/0e8d8a173f4d928e6da82471005051f6b38cdc7a/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftakahashim%2F20090301%2F20090301050514.png)
squeak には構文上かないませんが、なるべく似た感じになるように ruby で書いてみました:-p ⇒ id:sumim:20080417:p1 「世界のナベアツに Squeak Smalltalk で挑戦する(改訂)」 このスクリプトはメソッド名に日本語を使っているので、UTF-8 でセーブしておいてから実行します。 オリジナルとの違いは、squeak 版のようにコンテキストからローカル変数の値を参照できないものかと試行錯誤してやりかたがわからなかったので、クラス変数アクセスでごまかしています。また、〜になっての処理を関数合成しておいて、メソッド「なります」で値を適用する方式に変更しました。 (2008-04-18修正) FalseClass#のときだけ() メソッドが nil を返すように変更しました。 #!/usr/bin/ruby -Ku #Content-type: appl
auth = 'Basic '+['user'+':'+'pass'].pack('m') hash = {'Authorization' => auth} open(uri, hash){|f| puts f.read}
はじめに 本文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。
Programming Ruby を始めから読んでいると、今まで知らなかった事がちょこちょこ出てきて面白い。 一番面白かったのは、Ruby では、ハッシュキーが存在しない場合のデフォルト値を変更できる事。 なにも指定しない場合は、ハッシュキーが未定義の場合は、nil が返ってくる。 hash = { } p hash.has_key?(:foo) #=> false puts hash[:foo] #=> nil 空のハッシュを作成する時にデフォルト値を指定すると、未定義のキーに対しては、その値が返ってくる。 hash = Hash.new(0) p hash.has_key?(:foo) #=> false puts hash[:foo] #=> 0 hash[:foo] += 1 p hash.has_key?(:foo) #=> true puts hash[:foo] #=> 1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く