今日のちょんぼ
動かないことを指摘されて気がついた。テストしなさすぎ。
#! /usr/bin/ruby class Hardware def iRangeSet(ch, irange) @iRange = irange case @irange when '1mA' writeRegister(ch, 1) when '100uA' writeRegister(ch, 2) else # HOLD writeRegister(ch, 0) end end private def writeRegister(ch, data) # hardware access etc... end end ch = 1 hw = Hardware.new hw.iRangeSet(ch, '1mA')
nilだから動くわけないですな。間抜けすぎ。最初まったく気がつかなくて、ちょっとはまった。
大文字小文字の間違いを修正して、条件としてHOLDを追加、elseではエラー処理とメッセージを表示するように修正。
ハードウェアをクラスに記述していくのは、ブロック図で入力しているような感じでなんとなく楽な気がする。