UNIXの操作・プログラミングの基礎


プログラミング・Rubyとは

プログラミング・Rubyとは

プログラミングを学ぶ理由


emacs操作方法

この講義ではemacsを使用してRubyプログラムを記述する.emacsの基本的な操作は下記の通りである.その他のコマンドはemacsの使い方のページを参照してください.


プログラムを作る前に

まずはktermで以下のコマンドを入力して、この講義で作るプログラムを保存するディレクトリ~/Rubyを作成する

sime{c11xxxx}% mkdir ~/Ruby

ディレクトリが作成されているか確認したい場合はlsコマンド(現在のディレクトリの中のファイルやディレクトリ一覧を表示するコマンド)を用いる

sime{c11xxxx}% ls
Mail/      Ruby/     maildir/     public_html/
Windows/   msmail/   script/

作成したディレクトリに入る時はcdコマンドを利用する

sime{c11xxxx}% cd ~/Ruby

今どこにいるか分からなくなったときはpwdコマンドで確認できる

sime{c11xxxx}% pwd
/home/karol/Ruby

UNIXのコマンドなどの詳細については、UNIXのページ を参照してください.


実際にプログラムを作成してみよう

emacsでファイルを新規作成する.新規作成のコマンド(Ctrl+x Ctrl+f)を入力するとemacsの下部のミニバッファに以下のように表示される.

Find file: ~/

下記の通りになるように入力し[Enter]キーを押す.

Find file: ~/Ruby/helloworld.rb

Rubyのソースファイルには、「プログラム名.rb」のように.rbという拡張子を必ず付けてください.

次は以下のソースコードをemacsに入力する.

#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

print "Hello World!\n"

入力が終ったら,保存する.保存していない場合、U:**-と表示される. 保存すると,U:---になりWrote /----/---/---/---/helloworld.rbが表示される.


プログラムの実行

プログラムの実行はktermで行う(Ctrl+2で選択).

プログラムファイルを保存したディレクトリ~/Ruby)に移動する.

sime{c11xxxx}% cd ~/Ruby

Rubyプログラムを実行する際は、下記のようにrubyコマンドの後ろに作成したプログラムのソースファイル名を記述し実行する.

sime{c11xxxx}% ruby helloworld.rb
Hello World!

もしくは、chmodコマンドを利用し、ソースファイルを実行可能な状態にすることで、下記のように直接実行することもできる.

sime{c11xxxx}% chmod +x helloworld.rb
sime{c11xxxx}% ./helloworld.rb
Hello World!

chmodコマンドは、ファイルのアクセス権を変更するコマンドである. ファイルに対しては、r(閲覧する権利)、w(書き換える権利)、x(実行する権利)をそれぞれ個別に指定することができる. ./ファイル名 でプログラムを実行するためには、そのファイルに実行する権利が付与されている必要がある. +xとすることで実行する権利が付与される. アクセス権は一度変更するとその後も有効である. このためchmodコマンドを用いたアクセス権の変更は最初に実行する時のみ行えばよい. 詳細については、ファイルアクセス権の説明を参照してください.

helloworld.rb の動作は以下の通りである.


\nの働き

\nは「バックスラッシュエヌ」と呼び改行をあらわす. バックスラッシュは環境により円マーク()として表示される場合がある. バックスラッシュのないキーボードを使用している場合は円マークで代用する.

\nの有無により、出力結果が変化することを確認しよう. 以下のプログラムは\nの有無が異なっている(違いがわかりやすくなるよう\nを黄色で表示している). 最初に上のプログラムを作成し、greeting.rbという名前で保存し、実行結果がどうなるか確認してみよう.

日本語の入力を行う場合はCtrl+oを押す. Ctrl+oを押すごとに日本語入力と英語入力が切り替わる.

半角英数字と日本語入力の切り替えはCtrl+o

 練習問題  greeting.rb
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

print "はじめまして。\n"
print "私の名前は\n"
print "〇〇(自分の名前)です。\n" 

実行したら、\nを一部削除して、下のように変更して実行してみよう.

#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

print "はじめまして。"
print "私の名前は"
print "〇〇(自分の名前)です。\n" 

以下は実行結果である. 同じ結果になることを確認しよう.

sime{c11xxxx}% chmod +x greeting.rb
sime{c11xxxx}% ./greeting.rb
はじめまして。
私の名前は
公益太郎です。
sime{c11xxxx}% ./greeting.rb[Return]
はじめまして。私の名前は公益太郎です。

実行結果を見ると、最初は途中で改行され3行に分かれて表示されている. 改行が行われているのは\nの位置である. 2回目の実行ではプログラムでは3行に分割して記述されている内容が、1行で表示されている.

printを使ってメッセージを表示させる場合、\nをつけることで改行させることができる.


Rubyのマニュアル

多くのプログラミング言語は、開発者によってその仕様がマニュアルとして公開されている. 基本的に最も信頼のおける情報源なので、調査の際は優先して参照するよう心掛けてください.

Rubyリファレンスマニュアル

本講義の今後の進め方

  1. 毎週月曜日までにその週の講義資料が公開される。
  2. 授業を受ける前に各自で予習する:
    • 講義資料を読む
    •  練習問題  のラベルが付いているプログラムを入力し実行する
  3. 授業に参加する:

本日の演習課題

 基本課題 

自分の学籍番号と年齢を(2行に分けて)表示するプログラムstudent_info.rbを作成せよ

実行結果の例:

sime{c11xxxx}% chmod +x student_info.rb
sime{c11xxxx}% ./student_info.rb
c1181234
20

本文は下記の通り記入してください.

氏名: 苗字名前
学籍番号: C11xxxxx

ソースコード:
...

実行結果:
...


目次