replit はオンラインでプログラミングを行ったり、学習したりできるサイトである。 PC でもスマートフォンでも利用できるので便利である。 replit では Ruby だけでなく、C や Python などの様々な言語を扱うことができる。
ちなみに、replit のサイトは公益大とは全く関係がない。
最初にアカウントを作ってログインする必要がある。
[Sign up]
をクリック(タップ)する。[Create account]
ボタンをクリック(タップ)する。[Log in]
をクリック(タップ)する。[Log in]
をクリック(タップ)する。
新規に Ruby のプログラミングを始めるには以下のようにして実行環境を作成してから行う。
[+ Create]
をクリック(タップ)する。[Ruby]
を選択するか、Favorites から [Ruby]
を選択する。[+ Create Repl]
をクリック(タップ)する。
保存した実行環境を開くには、メニューから [My Repls]
をクリック(タップ)して選択する。
タイトルを付けなかった実行環境は Unamed というフォルダに保存されている。
実行環境を開くと、スマートフォンでは main.rb の編集区画が表示される。 PC では左にサイドバー、中央に編集区画、右にコンソール区画が表示される。
一つの実行環境の中には複数のファイルを作成できるが、プログラムの実行ができるのは、はじめに用意される main.rb だけなので、main.rb に実行したいプログラムを記述すること。
[▶ Run]
をクリック(タップ)すると main.rb のプログラムが実行され、コンソール区画に出力される。[■ Stop]
をクリック(タップ)するとプログラムの実行を中止する。
サイドバー(ファイル一覧)
うまくいかない場合
次の簡単なプログラム hello.rb を入力して実行してみよう。
#!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- print "Hello, world!\n"
行頭の番号(行番号)は説明のために付けているので入力不要である。
プログラムを記述する際の注意点
スマートフォンでは画面が小さいため色々と難しいと思うが工夫をしてほしい。
このプログラムを実行すると、コンソール区画に次のように表示される。
Hello, world!
このプログラムの意味は次の通り。
print
」というのは後に続く文字列を出力しなさいというメソッドである。“Hello, world!\n”
」は文字列を意味し、その中の「\n
」は「改行」を表す特殊な文字である。CSV ファイルから読み込んでコンソール区画に出力するプログラムを実行してみよう。
まず、プログラムで読み込むためのファイルとして list.csv を準備する。
サイドバーからファイル追加ボタンをクリック(タップ)して、ファイル名「list.csv」を入力するとそのファイルの編集区画が表示される。
編集区画に以下の list.csv の内容をコピペする。
はながた ベニちゃん,Hanagata Benichan,山形市旅籠町2-3-25 寒河江 チェリン,Sagae Cherrin,寒河江市中央1-9-45 庄内 まめうさ,Shonai Mameusa,酒田市浜中字村東30-3 酒田 もしぇのん,Sakata Moshenon,酒田市本町2-2-45 酒田 あののん,Sakata Anonon,酒田市本町2-2-45 桃色 ウサヒ,Momoiro Usahi,西村山郡朝日町大字宮宿1115 米沢 かねたん,Yonezawa Kanetan,米沢市金池5-2-25 バーニック ナガイ,Baniku Nagai,長井市ままの上5-1
次に、list.csv を一行ずつ読み込んで標準出力に出力するプログラムを実行する。
main.rb の編集区画で、以下のプログラムの内容をコピペする。
#!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- f = open("list.csv", "r") while line = f.gets print line end f.close
これを実行すると list.csv が読み込まれてコンソール区画に出力される。
コンソール区画で数値を入力して結果をファイルに出力するプログラムを実行してみよう。
英語、数学、国語の点数を入力して合計点を output.txt に出力するプログラムを実行する。
main.rb の編集区画で、以下のプログラムの内容をコピペする。
#!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- sum = 0 for subject in ["英語", "数学", "国語"] print subject + "は何点? " sum += gets.chomp.to_i end open("output.txt", "w") do |f| f.printf("合計は%d点です\n", sum) end
実行するとコンソール区画で点数の入力待ちになるので適当な数字(例えば「80」「66」「54」)を順次入力する。
入力した点数の合計点はコンソール区画には出力されずに output.txt に出力(保存)される。
output.txt を見るにはサイドバーのファイル一覧で output.txt を選択する。