このようなコードを実行しようとしました
def get_proj4(srid, type=nil)
type.downcase! if type
case type
when nil || "epsg"
open("http://spatialreference.org/ref/epsg/#{srid}/proj4/").read
when "esri"
open("http://spatialreference.org/ref/esri/#{srid}/proj4/").read
end
end
正しく実行されず、毎回 nil が返されました。かっこnil || "epsg"
で囲んでも機能しませんでした
||
ルビーでは、これで演算子を使用できないことがわかりました
ここで、ルビーが case/when メソッドを取り、最終的にそれを次のような条件のグループに分解すると仮定します
x = type
if x == (nil || "epsg")
y = ...runs code...
elsif x == "esri"
y = ...
end
x = nil
y
しかし、明らかにそうではありません。何が起きてる?
ありがとう