• 検索結果がありません。

ruby1 資料 CSコンピュータ系実験IV RoRによるウェブサイト構築 ruby1

N/A
N/A
Protected

Academic year: 2018

シェア "ruby1 資料 CSコンピュータ系実験IV RoRによるウェブサイト構築 ruby1"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)

Ruby

簡単入門 第

1

コンピュータ系実験

IV

資料

担当:冨永

Ruby はオブジェクト指向スクリプト言語です.こ

の入門ではRubyの簡単な使い方を説明します.Ruby

についての正確な説明は,Rubyのサイト

http://www.ruby-lang.org/

にあるドキュメントや,この文書の最後に紹介する本 などを参照して下さい.

1

使い方

Linuxなどでは,Rubyは2通りのやり方で使うこと

ができます.

1.1

使い方その

1

:ファイルにプログラムを

書いて動かす

Rubyのプログラムをファイルとして作ります.ファ

イル名は「∼.rb」にします.例えばhello.rbとい

う名前にします.

puts "Hello, world!"

そしてコマンド「ruby」を使ってプログラムを動か

します.rubyコマンドはRubyのインタプリタです.

% ruby hello.rb Hello, world! %

rubyの版を知るためには-vをつけて動かします.

% ruby -v

ruby 1.8.6 (2007-03-13 patchlevel 0)

[i686-darwin8.9.1] %

演習1 hello.rbを動かす

hello.rbをエディタで作り,rubyコマンドで

動かしてみよう.

1.2

使い方その

2

:キーボードからプログラ

ムを入力して動かす

キーボードからRubyの実行文を入力して対話的に

実行させることができます.対話型interactiveのイン

タプリタであるirbコマンドを使います.

% irb

irb(main):001:0> i = 3 => 3

irb(main):002:0> j = i * 2 => 6

irb(main):003:0> puts j 6

=> nil

irb(main):004:0> exit %

演習2 irbを使う

irb で 2×2 + 2 / 2 を計算してみよう.また,

"hello" + "world"の値がどうなるか計算して

みよう.

2

数値と数値リテラル

Rubyで扱える基本的な数値の型は整数integerと実

数(浮動小数点数floating-point number)です.数値リ

テラルliteral1は以下のように書きます.

整数 0 5 -2

実数 1.25 0.57 2.0 1.3e-4 2e10

演習3 計算をしてみる(1)

irbで,5/2を整数で計算してみよう.また,実

数でも計算してみよう.

1リテラルとは,プログラム中に書かれた値のことです.

(2)

演習4 計算をしてみる(2)

irbで 2×10

20

5×1021 を実数で計算してみよう.

3

演算子

CやJavaと同様の演算子operatorが使えます.主な

演算子としては以下のものがあります.

算術演算 + - * / %

ビット演算 ˜ & | ˆ << >>

比較 > >= < <= == !=

代入 = += -= など

論理演算 ! && || not and or

(注意:++や--はありません)

演算子には優先順位があります.

高い  ::(メソッド呼び出し .)

 ↑  []

    +(単項) ! ˜

    **

    -(単項)

    * / %

    +

-    << >>

    &

    | ˆ

    > >= < <=

    <=> == === != =˜ !˜

    &&

    ||

    .. ...

    ?:(条件演算子)

    =(+= -= · · ·)

 ↓  not

低い  and or

4

定数と変数

4.1

種類

大域変数global variable $foo $Foo

局所変数local variable foo

インスタンス変数instance variable @foo @Foo

クラス変数class variable @@foo @@Foo

定数constant Foo

(定数は一度しか代入できない変数と考えるとよい) しばらくは局所変数と定数だけを使います.

4.2

識別子

英字で始まる英数字の並び2を識別子identifier(変

数などの名前)にできます.下線underscore「 」は英

小文字として扱われます.

識別子として使えない予約語keywordは以下の通り.

BEGIN END alias and begin break case class def defined? do else elsif end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield

ただし$や@を先頭につけたものは識別子(つまり

変数名)として使えます.

5

式と文

式 expression 値をもつ.「評価evaluate」される.

文 statement 実行の単位.改行で区切る(改行の代わ

りにセミコロン「;」で区切ってもよい).

6

真偽値

偽と見なされる値 false nil

真と見なされる値 それら以外(0は真なので注意)

2後で出てくる正規表現を使うと

[A-Za-z ][A-Za-z 0-9]*

と書ける.

(3)

7

制御構文

7.1

条件分岐

if X (then) A

elsif Y (then) B

else C end

if X then A elsif Y then B else C end

7.2

繰り返し

i = 0

while i < 10 (do) puts i

i += 1 end

for i in 0..9 (do) print i

end puts

break 繰り返しを抜ける

next 次の回を始める

8

名前の通用範囲

• 最初の代入で定義される

• それ以降で有効

• 局所変数の有効範囲はブロック内(まだ出てこな

い)

使い方のこつ 使う変数は最初に初期値を入れておく.

(変数宣言の代わり)

演習5 xx2の対応表

繰り返しを使って,以下のようなxとx2 の対応

表を表示するプログラムを作れ.

1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 10 100

演習6 九九の表

繰り返しを使って,以下のような九九の表を表示 するプログラムを作れ.

1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81

9

関数定義

関数は以下のような形式で定義する.

def add(x, y) z = x + y return z end

xとyが仮引数である.zの値が関数の戻り値とし

て返される.引数についても戻り値についても,型が 指定されないことに注意せよ.関数はどのような型の

(4)

値でも引数として受け取れる.またどのような型の値 でも返せる.

関数を使うには関数定義の後で以下のようにする.

ans = add(2, 3)

この例ではansの値が5になる.

関数定義のdefからendまではブロックである(局

所変数の有効範囲を限る).

なお,関数は再帰的に呼び出すことができる.

演習7 フィボナッチ数列

以下で定義されるフィボナッチ数列Fibonacci num-bers Fn を第 N項(FN)まで表示するプログラム

fib.rbを作れ.

F1= 1

F2= 1

Fn+2=Fn+Fn+1 (n≥1)

Nはプログラム中で定数とし,適当な値(例えば20)

を与えること.

演習8 素数かどうか確かめる

引数として与えられた整数iが素数かどうか確か

め,素数ならばtrueを,素数でないならばfalse

を返す関数isprime(i)を作れ.

なお素数とは,1と自分自身でしか割り切れない, 2以上の整数(2, 3, 5, 7, 11,. . .)である.

演習9 素数を表示する

上の演習で作ったisprimeを使って,100までの

素数を全て表示するプログラムを作れ.

Rubyでは関数定義の最後の式が戻り値になるので,

return文を使わずに以下のようにも書ける.

def add(x, y) x + y

end

引数がない場合は括弧ごと省略できる.

def sayhello

puts "Hello!" end

引数の数が可変の関数も作れる(説明は省略).

参考図書

• 原 信一郎:「Rubyプログラミング入門」,オーム

社,2000年.

• 高橋 征義,後藤 裕蔵:「たのしいRuby 第2版 Rubyではじめる気軽なプログラミング」,ソフト

バンククリエイティブ,2006年.

• Yugui:「初めてのRuby」,オライリー,2008年.

参照

関連したドキュメント

 Failing to provide return transportation or pay for the cost of return transportation upon the end of employment, for an employee who was not a national of the country in which

Apply only by fixed-wing or rotary aircraft equipment which has been functionally and operationally calibrated for the atmospheric conditions of the area and the

If swallowed: Call a poison control centre or doctor immediately for treatment advice.. Do not induce vomiting unless told to do so by the poison control centre

REMARKS Apply 300 mL of FITNESS Fungicide in minimum of 200 L of water per hectare by ground application or in 40 to 50 L of water per hectare by aerial application at the

4-2

(Not for use in Mississippi)Worker Restricted Entry Interval: Do not enter or allow worker entry into treated areas during the restricted entry interval (REI) of 24 hours days

Apply Fastac ®  CS insecticide continuously for the dura- tion of the water application. Dilute Fastac CS in sufficient volume to ensure accurate application over the area to be

添付資料-4-2 燃料取り出し用カバーの構造強度及び耐震性に関する説明書 ※3 添付資料-4-3