2006-01-01から1年間の記事一覧

ブロックの作り方 (もう少し)

もう少しブロックについて、メソッドにブロックを渡されなかったらどうなるかというメモを。 上のtwo_times_to_max()にブロックを渡さなかった場合は、例外が発生します。 ブロックを渡された場合と渡されなかった場合で、処理を分ける場合はblock_given?を…

ブロックの作り方(再)

ブロックは、イテレータを実装するためによく使われています。 たとえば、Arrayクラスのeachメソッドでは、 list = ["hoge", "fuga", "piyo"] list.each{ |element| puts element} といった具合にブロックを使って繰り返し処理を行えます。このようなブロッ…

ブロックの作り方

Rubyでは、メソッドにブロックを関連付けて、色々と便利なことができるようです。 ちょっと、この辺りがまだモヤモヤしているのでまとめときます。 って思ったけど、また明日にでも。

可変長の引数

メモです。可変長の引数にする場合には、 def my_method(arg1, *arg2) のように、引数の前に*をつけます。 これによって、 my_method("hoge", "piyo", "fuga") のような呼び出しで、arg1には"hoge"が、arg2には残りの引数が配列で格納されます。

ファイル読み込みのTip

ファイル読み込みで、とある文字列からとある文字列までの内容を処理したい場合があります。こんなときは、以下のように範囲を条件式として利用すると便利です。 while line = gets puts line if line =~ /hoge/ .. line =~ /fuga/ end 上のソースでは、標準…

ActiveSupportってめちゃ便利

ActiveSupportは、Railsのフレームワークのひとつですが、普通のRubyプログラムでも使うことができます。 Railsをインストールしている場合は、 require 'active_support' で、ActiveSupportのクラスやメソッドを使うことができます。 便利な機能としては、 …

Python Challenge Level5

いや〜、レベル5はとっても難しかったです。 "peak hell"を発音すると、なんかに似てない?っていうヒントがあるのですが、まったくわからず。 で、Python Challengeのフォーラムページ(http://www.pythonchallenge.com/forums/)を見てみると、Pythonのモジ…

Python Challenge Level4

Python Challenge Level4 は、とあるURLから次のURLをもらってどんどんアクセスしていくというものでした。 Webページには、 and the next nothing is 5868 というような文字列がでてくるので、この数値をURLのnothing=のところに格納します。 僕はこんな感…

Python Challenge Leve4

Python Challenge のレベル4まできました。 レベル3でPythonの正規表現を学んだのでちょっとメモを。 レベル3は、大文字3文字で囲まれた1文字の小文字を見つけるというものでした。 この場合は、次のように import re result = re.findall('[a-z][A-Z]{3…

Python Challenge Level1

Pythonを勉強するため、Python Challenge をやっています。 Python Challenge http://www.pythonchallenge.com/ レベル1は、"a"なら"c"、"b"なら"d"、"c"なら"e"というように1つずつ文字を飛ばすスクリプトを作る問題です。 そこで、次のようなスクリプト…

pythonでperlのダイヤモンド演算子に相当するメソッド

Perlでは、ダイヤモンド演算子<>で、引数にファイルが指定された場合はそのファイルから、引数に何も指定されなかった場合は標準入力から文字列を読み込んで処理します。これをPythonでは、fileinputモジュールを使うことによって、同様の処理を行えます。 i…

私の頭の中の消しゴム

最近ブログをつけてなかったので、このままでわっ!!と思い更新です。 私の頭の中の消しゴムを見ました。 号泣ものでしたTT 母に捨てられた主人公が母を許して、母の借金を全額払うシーンがありましたが「許すってのは、心にひとつ部屋を作る」ってセリフが…

Railsのインストール

プロキシを介してのRailsのインストールにちょっと手間取ったのでメモ。 以下のように、プロキシをコマンドラインから指定すると、エラーが出力されてしまいました。 >gem install rails --include-dependencies --http-proxy http://IPアドレス:ポート/ ERR…

田舎と新幹線

今日、覚えた英単語。 countryside 田舎 express train 新幹線 以上。。。

ひさしぶり

今日勉強した1口フレーズは、「ひさしぶりに」です。 たとえば、ひさしぶりに買い物にでかけた場合は、 I was able to go shopping after long time. ひさしぶりに買い物にいくことができた。 と言います。 ちなみに、今日の朝英会話で金魚の話がでてきてた…

datetimeの文字化け

Railsで日付を表示させると、 Sun Jul 23 17:30:00 ???? (?W????) 2006 というように文字化けしてしまいましたorz この文字化けしている箇所をShift-JISで見てみると、 Sun Jul 23 17:30:00 東京 (標準時) 2006 というようになっています。 Webページのエン…

はじめてのRails

RubyもRailsもというかWebアプリケーションもまったくの初心者なのですが勉強してみました。 MySQLのインストールに失敗して挫折しかけましたが、なんとかRailsのさわりまでやったので、とりあえず作業の流れの備忘録をつけときます。 まず、Railsのインスト…

警告メッセージとファイル読み込み

Perlでは、-wもしくはuse wariningsのどちらかで警告メッセージを出力してくれます。 この警告メッセージの意味がわからない場合は、perldiagマニュアルを読むか、プログラムの開始部分にuse diagnosticsを追加しておけば、エラーメッセージがドキュメント内…