But that has a constant format string, and is a great example on how to use
@sprintf. The question here is about non-constant format strings (as far as
I can tell).
kl. 14:59:06 UTC+1 torsdag 4. desember 2014 skrev Mike Innes følgende:
>
> To clarify, I meant something like
>
> function printnums(x,y,z)
> @sprintf("%.2f %.2f %.2f", x, y, z)
> end
>
> Which will both be type safe and have good performance. It doesn't solve
> all the issues, but as I said, it does solve the specific issue of
> repetition of format strings.
>
> On 4 December 2014 at 13:49, Ivar Nesje <[email protected] <javascript:>>
> wrote:
>
>> A function wrapping Julia @sprintf will be typesafe, but will have
>> terrible performance. One could cache the generated functions though, so
>> that the format string will only be used as a lookup in a hash table that
>> points to the specialized (typesafe) function for that format string.
>>
>> kl. 13:49:09 UTC+1 torsdag 4. desember 2014 skrev Mike Innes følgende:
>>>
>>> I'm not sure I understand – C's sprintf certainly has problems with type
>>> safety, but a function wrapping Julia's @sprintf can't *not* be
>>> strongly typed. No?
>>>
>>> On 3 December 2014 at 23:43, <[email protected]> wrote:
>>>
>>>>
>>>> As Stefan said above, the problem with traditional (s)printf functions
>>>> is type safety.
>>>>
>>>> On Thursday, December 4, 2014 4:53:17 AM UTC+10, Mike Innes wrote:
>>>>>
>>>>> #9423 <https://github.com/JuliaLang/julia/pull/9243> should help with
>>>>> the repetition of format strings issue. It occurs to me now that you can
>>>>> always just write a function wrapper for `@sprintf` to solve that issue
>>>>> but
>>>>> this might still be useful.
>>>>>
>>>>> [...]
>>>>
>>>
>>>
>