各トピックに関するサンプルプログラムを示します. ブラウザの画面で開いたときに文字化けしてしまう場合には, ダウンロードしてEmacs等で開いてみて下さい.
タートルグラフィクス
- gtr_square.rb(正方形を描く)
- gtr_square_fill.rb(塗りつぶされた正方形を描く; fill,hoverの例)
- gtr_simple_star.rb(星形を描く)
- gtr_two_stars.rb(星形を二つ描く; hoverの例)
- gtr_sprout.rb(植物の芽を描く; circle,mark,backの例)
- gtr_simple_star_fill.rb(塗りつぶされた星形を描く)
- gtr_meta.rb(亀を描く)
変数とデータの入出力
- simple_star.rb(変数を利用しないで☆を描く)
- simple_star_v.rb(変数を利用して☆を描く)
- two_stars.rb
- gtr_squares.rb
- rosecurve.rb
- ytod.rb
- tax.rb
- busfare.rb
メソッド
- star_seq.rb
- char_L.rb
- doublebox.rb
- flower.rb
- discriminant.rb
- duel.rb
- ytod_method.rb
- tricolore.rb
- tricolore_lowQ.rb(よくないプログラムの例; tricolore.rbの劣化版)
繰り返し処理
- stars0.rb
- stars1.rb
- stars2.rb
- stars3.rb
- stars4.rb
- stars5.rb
- stars6.rb
- fstars0.rb
- fstars1.rb
- sin_curve.rb
- sum.rb
- exp.rb
- fact0.rb
条件で処理を変える
配列
- coins.rb
- coins_noarray.rb
- coins_times.rb
- coins_while.rb
- coins_args.rb
- cash_register1.rb
- cash_register2.rb
- mkpasswd.rb
- month.rb
- month2.rb
- month3.rb
- sum.rb
- 9x9.rb
ファイルを利用したデータ処理
- readfile0.rb
- readfile.rb
- createfile.rb
- lineno.rb
- lineno2.rb
- lineno3.rb
- grep.rb(ファイルからkeywordを含む行のみを表示する)
# grep.rbのうち「end」を含む行を取り出して表示する $ ruby grep.rb end grep.rb
再帰的な処理
- partition_number.rb(分割数の計算,0-49の分割数のリスト)
- combination_rec.rb(組み合わせの計算)
- factorial_rec.rb(階乗の計算)
- hanoi.rb(ハノイの塔)
- rcurve.rb
- vtree.rb
- ruler.rb
$ ruby partition_number.rb 10 # 10の分割数=42 $ ruby combination_rec.rb 6 3 # 6C3 $ ruby factorial_rec.rb 10 # 10! = 3628800 $ ruby hanoi.rb 4 # 4枚の場合
手続き
- tour.rb
- each_odd.rb
- each_grid.rb
- sum_up_by.rb
- fsum.rb
- procs.rb (inc_by, iprod, composite, conv)
- procs2.rb (mult, counter)
- elapse_ackermann.rb
- more_counters.rb
クラス(オブジェクト指向)
- nsguess.rb(数当てゲーム)
- nsg.rb(nsguess.rbで読み込んでいるファイル)
- bank_account.rb(銀行口座クラス)
- library.rb(図書館,蔵書クラス)
(蔵書データサンプル: booklist.csv) - bank_account2.rb(銀行口座クラス;拡張版)
GUI
- hello.rb
- vbox.rb(VBoxのテスト)
- entry_dialog.rb(EntryとMessageDialogのテスト)
- gtb.rb(ボタンの配置と変更)
- editor.rb(簡易エディタ;編集のみ)
- editor2.rb(簡易エディタ2;編集のみ)
- ted.rb(簡易エディタ;Open/Save対応)