Ruby は初めてですが、試行錯誤しながら Ruby 用のプラグインをいくつか作成しました。
いくつかの異なる構文バリエーションを試した結果、次のようになりました。
Unexpected else or end, expecting }
- 変数が適切に評価されない。つまり、
@reUrl
最終的に ="@reUrl2"
どんな助けでも大歓迎です。
これが私のコードの抜粋です:
def initialize(config)
self.reip1 = config["reip1"]
self.reip2 = config["reip2"]
@reUrl1 = "#{self.reip1}:8080/redeye/rooms/0/devices/2/commands/send?commandId="
@reUrl2 = "#{self.reip2}:8080/redeye/rooms/0/devices/2/commands/send?commandId="
@reUrl = @reUrl2
end
.
.
.
.
def change_redeye(redeye)
redeye = "#{redeye}".downcase
redeye = "#{redeye}".strip
redeyeid = "#{@redeyeId["#{redeye}"]}".to_i
if redeyeid > 0
say "OK. Changing to RedEye #{redeye}."
# results in resel = "@reUrl2" Does what I want.
resel = "@reUrl#{redeyeid}"
# FIXIT: need to end up with the URL of the device, but can't find the right syntax.
@reUrl = "#{#{resel}}"
else
say "Sorry, I am not programmed to control RedEye #{redeye}."
end
request_completed
end