SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Rubyが.NETプラットフォームにやってくる

.NETプログラマのためのRuby入門

  • X ポスト
  • このエントリーをはてなブックマークに追加

Rubyの使用例

 Rubyのような言語を習得する1番の方法は、対話形式で操作してみることです。多くの動的言語には、REPL(Read-Execute-Print Loop)と呼ばれる対話型のプロンプトが用意されています。RubyのREPLプログラムはirb(「interactive Ruby」の略)という名前です。

 irbプログラムを実行すると、次のようなirbプロンプトが表示されます。

C:\Users\Brad> irb
irb(main):001:0>

 irbプロンプトにコマンドを入力すると、Rubyインタープリタによってコマンドが評価され、結果が画面に表示されます。irbのようなREPLは、ステートメントを1つずつ実行しながら言語を習得するのに最適です。

 手始めにRubyで2つの数値を足してみましょう。irbプロンプトで「5 + 2」と入力し、Enterキーを押します。

irb(main):001:0> 5 + 2
=> 7

 irb(main):001:0>の部分は、irbによって表示されるプロンプトです。「5 + 2」と入力してEnterキーを押すと、=> 7という形で結果が表示されます。=>は、評価の結果が表示されていることを示すヒントです。

 式がまだ終わっていないとRubyが判断した場合は、式を続けて入力できます。例えば、「5 + 2 +」と入力してEnterキーを押すと、まだ入力する式が残っていると判断され、次の行で入力を続けることができます。

irb(main):002:0> 5 + 2 +
irb(main):003:0* 13
=> 20

 2行目のプロンプトは「>」ではなく「*」で終わっており、まだ前のステートメントが続いていることを示しています。

基本のデータ型(1)

 数値を処理できなければ、プログラミング言語にほとんど価値はありません。単純な演算処理はRubyの得意技です。

irb(main):004:0> 3 + 4
=> 7
irb(main):005:0> 3 * 4
=> 12
irb(main):006:0> 3 - 4
=> -1
irb(main):007:0> 3 / 4
=> 0
irb(main):008:0> 3.0 / 4.0
=> 0.75
irb(main):009:0> 0xF
=> 15
irb(main):010:0> 0x3 * 0xA
=> 30

 このように、Rubyでは整数型と浮動小数点数型がサポートされており、16進整数の共通形式を使うこともできます。ただし、0x3 * 0xAの結果は10進数で(0x1Eではなく30と)表示されています。

 .NETの場合と同様に、数値は実際にはオブジェクトなので、次のように数値のメソッドを呼び出すことができます。

irb(main):011:0> 14.to_s
=> "14"

 C++では、このようなやり方はしないでください。

 to_sメソッドは、オブジェクトを文字列に変換します。従って、14.to_sを呼び出すと、文字列"14"が返されます。.NETのToString()メソッドと同様に、to_sメソッドは実際にはObjectクラスのメソッドなので、Rubyのあらゆるデータを文字列に変換できます。

文字列

 Rubyの文字列には、当然あるべき操作がすべて用意されています。

irb(main):012:0> "hello" + "there"
=> "hellothere"
irb(main):013:0> "Reader".length
=> 6
irb(main):014:0> "Reader".reverse
=> "redaeR"
irb(main):015:0> "reader".capitalize
=> "Reader"
irb(main):016:0> "Reader".include?("foo")
=> false
irb(main):017:0> "Reader".include?("ade")
=> true
irb(main):018:0> "  Reader  ".strip
=> "Reader"
irb(main):019:0> "Reader".gsub("e", "f")
=> "Rfadfr"
irb(main):020:0> "Reader".delete("ea")
=> "Rdr"
irb(main):021:0> "a" < "b"
=> true

 あまりなじみがないと思われるいくつかの文字列操作も利用できます。例えば次のコードは、ある文字列がアルファベット順で他の2つの文字列の間に入るかどうかを評価します。

irb(main):022:0> "Bob".between? "Adam", "Chris"
=> true

 乗算演算子を使うと、指定した回数だけ文字列が繰り返されます。

irb(main):023:0> "hi" * 5
=> "hihihihihi"

 cryptメソッドは、指定した文字列にソルトを付けた一方向ハッシュを返します。これはパスワードなどの機密データを格納するときに役立ちます。

irb(main):024:0> "Reader".crypt("ab")
=> "abofgDjq6JNJo"

次のページ
基本のデータ型(2)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Brad Wilson(Brad Wilson)

ASP.NETチームのソフトウェア開発者としてMicrosoftに3年以上在籍。開発者としての経歴は15年を超える。.NET 2.0のテスト用開発フレームワークであるxUnit.netの共同製作者の1人である。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3405 2009/01/14 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング