From: konoki-nannoki-ggrks.mp4@... Date: 2012-09-19T13:27:49+09:00 Subject: [ruby-list:48961] 別ファイルのクラス内メソッドから戻り値を得たい ※色々削っているのでおかしなところがあるかもしれません。 #! ruby -Ks require 'dxruby' require 'scene' require_relative '00shop_status' require_relative '01shop_etc' require_relative '00drawint' class Main_loop_s < Scene::Base def init @@flame = 0 @@flame_s = 0 @window = Window_test.new @s_etc = Shop_etc.new @ss = Shop_Status.new @interia = Interia.new @interia.Ini() @interia.Test_all_ini() end def update #秒をはかる if @@flame == 60 @@flame = 1 @@flame_s += 1 else @@flame += 1 end #01shop_etcの計算 @s_etc.Calc_s(@@flame) end def render #★ if @s_etc.Calc_s(@@flame) == 0 @interia.Rende_interia() end @s_etc.Render_s() end def quit end end Scene.main_loop Main_loop_s, 60, 1 こんにちは。 多分Rubyやライブラリではなく基本的な文法の問題だと思うのですが、よろしければご指導ください。 #★ の一行したの部分で、01shop_etc.rbの"Calc_s"というメソッドから戻り値を得たいと思っています。(このファイルは00main.rb) しかしこのように書くと、01shop_etc.rbの挙動がおかしくなってしまいます。 どうおかしいかと言うと、動作が2倍速くらいになっていたり、一つの処理を2回繰り返し(ているように見え)てしまったります。 戻り値の得方が間違っているのでしょうか?正しい書き方があれば教えてください ちなみに、@foo = @s_etc.Calc_s(@@flame)としておいてifの条件に@foo == 0 とするのはやってみました。