Wave reference vs. inline definition
thomas_braun
The following is all under IP7.
Function/WAVE someFunction()
return $""
End
Function compareWaves(wv1, wv2)
WAVE/Z wv1, wv2
End
Function DoStuff()
Make/T wv1 = {"a","b","c"}
compareWaves(somefunction(), wv1)
Make wv2 = {1, 2, 3}
compareWaves(somefunction(), wv2)
compareWaves(somefunction(), {1, 2, 3})
End
return $""
End
Function compareWaves(wv1, wv2)
WAVE/Z wv1, wv2
End
Function DoStuff()
Make/T wv1 = {"a","b","c"}
compareWaves(somefunction(), wv1)
Make wv2 = {1, 2, 3}
compareWaves(somefunction(), wv2)
compareWaves(somefunction(), {1, 2, 3})
End
That is pretty handy!
What is a bit unexpected is that the following does not compile
compareWaves(somefunction(), {"a","b","c"} )
I need to define a function like
Function compareWavesText(wv1, wv2)
WAVE/Z/T wv1, wv2
End
Function DoStuff()
compareWavesText(somefunction(), {"a","b","c"} )
End
WAVE/Z/T wv1, wv2
End
Function DoStuff()
compareWavesText(somefunction(), {"a","b","c"} )
End
so that it compiles.
Is this difference in wave reference and inline handling for text waves something likely to stay or a bug worth fixing?
1: https://github.com/t-b/igor-unit-testing-framework/pull/4