Sha256: a3592f83dabfd8967fe45641deb8feaa84957ca7eb857ecaecca81de31accbde
Contents?: true
Size: 1.82 KB
Versions: 4
Compression:
Stored size: 1.82 KB
Contents
# -*- coding: utf-8 -*- require 'tengine/core' # Tengine::Core::Driveableモジュールによるドライバ定義でローカル変数を使用する例。 # # ドライバはRubyのクラスとして定義されるので、スコープの異なるローカル変数を # 参照する事はできません。 # # ドライバ外に定義したデータをドライバ内、イベントハンドラ内で使用したい場合には # 定数やクラス変数の利用を検討してください。 # https://github.com/tengine/tengine/blob/develop/tengine_core/examples2/uc33_statics.rb # https://github.com/tengine/tengine/blob/develop/tengine_core/examples2/uc32_class_variables.rb # # ローカル変数を用いてデータを共有したい場合は、driverメソッドによるドライバ定義を検討してください。 # https://github.com/tengine/tengine/blob/develop/tengine_core/examples/uc30_local_variables.rb # lvar1の定義 lvar1 = "outside of driver" class Driver30 include Tengine::Core::Driveable # lvar2の定義 lvar2 = "outside of handler" puts "#{__FILE__}##{__LINE__}" begin # lvar1へのアクセス puts lvar1 # => raise NameError: undefined local variable or method `lvar1' raise "some thing wrong" rescue NameError => e puts "#{e.class} #{e.message}" end on:event30 def puts_local_variables puts "#{__FILE__}##{__LINE__}" begin # lvar1へのアクセス puts lvar1 # => raise NameError: undefined local variable or method `lvar1' raise "some thing wrong" rescue NameError => e puts "#{e.class} #{e.message}" end begin # lvar2へのアクセス puts lvar2 # => raise NameError: undefined local variable or method `lvar2' raise "some thing wrong" rescue NameError => e puts "#{e.class} #{e.message}" end end end
Version data entries
4 entries across 4 versions & 1 rubygems