実験 800x450 公開中

標準ライブラリのサンプル

投稿者:akasata 投稿日時: 2013/07/19 22:02:03
標準ライブラリのドキュメントに使うサンプルコード集です。
プログラミングに必要な配列、ハッシュテーブル、文字列などの機能を紹介します。
閲覧: 182 評価: 10
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
あなたはまだ評価していません。
game.loading do |loader| loader.add :window, :system => "window" loader.add :gui_item, :system => "gui_item" end game.on_init do set_window_image :window set_gui_image :gui_item scene_change :start_scene end scene :start_scene do |scene| # 文字列のサンプル string_samples # 配列のサンプル array_samples # ハッシュ(テーブル)のサンプル hash_samples # 時刻系のサンプル time_samples # その他のサンプル other_samples speak("サンプルを終了します") game.change_project "start_menu" end # 文字列のサンプル def string_samples speak("文字列関連の動作サンプル") # 文字列の生成 str = "abcde" speak("文字列の生成: " + str) # 文字列に変数を埋め込む i = 5 speak("文字列の生成: #{i}") # 文字列の比較(==) speak("文字列の比較(==): #{"string" == "string"}") # 整数に変換(to_i) speak("整数に変換(to_i): #{"4".to_i}") # 浮動小数点数に変換(to_f) speak("浮動小数点数に変換(to_f): #{"1.1".to_f}") # 配列にする(split) speak("配列にする(split): #{"a-b-c".split("-")}") # 文字列を一つだけ置換する(sub) speak("文字列を置換する(sub): #{"abade".sub("a", "f")}") # 全ての文字列を置換する(gsub) speak("文字列を置換する(sub): #{"abade".gsub("a", "f")}") # 文字列を逆転させる(reverse) speak("文字列を逆転させる(reverse): #{"abcde".reverse}") # 文字列を検索して位置を返す(index) speak("文字列を検索して位置を返す(index): #{"abcde".index("c")}") end # 配列のサンプル def array_samples speak("配列(Array)関連の動作サンプル") # 配列の作成 arr = [1, 2, 3] # 文字列に変換する(to_s) arr = [1, 2, 3] speak("文字列に変換する(to_s): " + arr.to_s) # 要素にアクセスする([]) arr = [1, 2, 3] speak("最初の要素にアクセス([]): #{arr[0]}") # 最後尾の要素を抜き出して、配列からは削除する(pop) arr = [1, 2, 3] last_value = arr.pop speak("最後尾の要素を抜き出して、配列からは削除する(pop): #{last_value}, arr: #{arr}") # 要素を配列に追加する(push) arr = [1, 2, 3] arr.push(4) speak("要素を配列に追加する(push): #{arr}") # 要素を配列に追加する(<<, もう一つの書き方) arr = [1, 2, 3] arr << 5 speak("要素を配列に追加する(<<): #{arr}") # 要素が含まれているかどうかチェックする(include?) arr = [1, 2, 3] result = arr.include?(1) speak("要素が含まれているかどうかチェックする(include?): #{result}") # 配列が等しいかどうか(==) arr1 = [1, 2, 3] arr2 = [1, 2, 3] speak("配列が等しいかどうか(==, 一致): #{arr1 == arr2}") arr3 = [1, 2, 3] arr4 = [1, 2, 4] speak("配列が等しいかどうか(==, 不一致): #{arr3 == arr4}") # ループ(each) arr = [1, 2, 3] arr.each do |item| speak("ループ(each): #{item}") end # ブロックの戻り値を集めた配列を作る(map) generated_arr = arr.map do |item| item * 2 end speak("ブロックの戻り値を集めた配列を作る(map): #{generated_arr}") # 配列に含まれている要素を探し出す(find) arr = [1, 2, 3, 2 ,3] result = arr.find do |item| item == 2 end speak("配列に含まれている要素を探し出す(find): #{result}") # 配列に含まれている要素を全て探し出す(find_all) arr = [1, 2, 3, 4, 5, 6, 7, 8] result = arr.find_all do |item| # 2で割り切れる item % 2 == 0 end speak("配列に含まれている要素を全て探し出す(find_all): #{result}") # 配列を並び替える(sort) arr = [3, 4, 1, 2] speak("配列を並び替える(sort): #{arr.sort}") # 逆順ソート(sort) arr = [3, 4, 1, 2, 5] sorted_arr = arr.sort do |a, b| b <=> a end speak("逆順ソート(sort): #{sorted_arr}") end def hash_samples speak("ハッシュテーブル関連の動作サンプル") speak("ハッシュテーブルは、キーと値を関連付けたデータの集合です") # ハッシュテーブルの生成 # :name, :hpはキー、"rmake", 150は値です。 hash_table = {:name => "rmake", :hp => 150} speak("ハッシュテーブルの生成: #{hash_table}") # 値の取得 hash_table = {:name => "rmake", :hp => 150} speak("値の取得: #{hash_table[:name]}, #{hash_table[:hp]}") # 値の挿入 hash_table = {} hash_table[:name] = "CoR" speak("値の挿入結果: #{hash_table[:name]}") # 値の代入 hash_table = {:name => "rmake", :hp => 150} hash_table[:name] = "Code on Rmake" speak("値の代入結果: #{hash_table[:name]}") # 削除 hash_table = {:name => "rmake", :hp => 150} hash_table.delete(:hp) speak("値の代入結果: #{hash_table}") # 全要素を探索するループ hash_table = {:name => "rmake", :hp => 150} hash_table.each do |key, value| speak("全要素を探索するループ: #{key}, #{value}") end # キーの一覧を返す(keys) hash_table = {:name => "rmake", :hp => 150} speak("キーの一覧を返す(keys): #{hash_table.keys}") # 値の一覧を返す(values) hash_table = {:name => "rmake", :hp => 150} speak("値の一覧を返す(keys): #{hash_table.values}") end def time_samples speak("時刻(Time)関連の動作サンプル") # 現在時刻を取得する(Time.now) time = Time.now speak("現在時刻を取得する(Time.now): " + time.to_s) # 起算時からの経過秒数(to_i) # 起算時は協定世界時(UTC) 1970年1月1日午前0時 time = Time.now speak("起算時からの経過秒数(to_i): " + time.to_i.to_s) # 年, 月, 日, 時間, 分, 秒を取得する time = Time.now speak("年を取得する(year): " + time.year.to_s) speak("月を取得する(month): " + time.month.to_s) speak("日を取得する(day): " + time.day.to_s) speak("時間を取得する(hour): " + time.hour.to_s) speak("分を取得する(min): " + time.min.to_s) speak("秒を取得する(sec): " + time.sec.to_s) speak("マイクロ秒を取得する(usec): " + time.usec.to_s) # 秒数を足す(+) time = Time.now added_time = time + 60 # 1分足す speak("秒数を足す(+): " + time.to_s + ", " + added_time.to_s) # 時間差を計算する(-) # 戻り値は秒数(浮動小数点数なので、1秒以下も測れる) # 処理にかかる時間を計測したりすることができます time = Time.now added_time = time + 60 # 1分足す diff_time = added_time - time speak("時間差を計算する(-): " + diff_time.to_s) end def other_samples speak("その他のサンプル") # 乱数(rand) speak("乱数(rand): #{rand(100)}") speak("乱数(rand, 0から1までの小数): #{rand()}") end
コード一覧
  • start.rb

コメントするには、ログインする必要があります。

コメント一覧
お知らせ

2014/03/04 ver. 0.1.39 を公開しました!
・0.1.36でWindowsで起動しない問題を修正しました
(Android版はバージョン番号のみの変更です。)

2014/03/04 ver. 0.1.36 を公開しました!
・アプリケーションアイコンを変更しました
・セーブ・ロードを繰り返すとアプリが強制終了する問題を修正しました
・他、重大なバグを修正しました

ダウンロードはこちらから。

2013/07/17 Code on Rmakeをα公開しました!