Saagar Jha

> On May 1, 2017, at 14:08, Rick Mann <[email protected]> wrote:
> 
>> 
>> On Apr 30, 2017, at 11:30 , Saagar Jha <[email protected]> wrote:
>> 
>> Apologize for the late response, this message got buried in my inbox.
>> 
>> Saagar Jha
>> 
>>> On Apr 23, 2017, at 23:23, Rick Mann <[email protected]> wrote:
>>> 
>>>> 
>>>> On Apr 22, 2017, at 12:23 , Saagar Jha <[email protected]> wrote:
>>>> 
>>>> 
>>>> Saagar Jha
>>>> 
>>>>> On Apr 21, 2017, at 04:35, Rick Mann via swift-users 
>>>>> <[email protected]> wrote:
>>>>> 
>>>>> I have a debugLog() method that looks like this:
>>>>> 
>>>>> func
>>>>> debugLog<T>(_ inMsg: T, _ inFile : String = #file, _ inLine : Int = #line)
>>>> 
>>>> Well, for starters, I don’t see why you need to make this function 
>>>> generic. Why not make inMsg an `Any?`?
>>> 
>>> So I can write debugLog(<something other than string>)
>> 
>> Have you tried using `Any?`? You can pass in other stuff…
> 
> That's probably fine. I just took it from some example somewhere.
> 
>> 
>>> 
>>>> 
>>>>> {
>>>>>   let df = DateFormatter()
>>>>>   df.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
>>>>>   let time = df.string(from: Date())
>>>>>   
>>>>>   let file = (inFile as NSString).lastPathComponent
>>>>>   print("\(time) \(file):\(inLine)    \(inMsg)”)
>>>> 
>>>> Try \(inMsg ?? “nil”).
>>> 
>>> No, this is missing the point. I don't want to have to write this 
>>> everywhere. I just want to tell the compiler not to issue the warning in 
>>> these cases, much in the way you can tell the compiler to check printf 
>>> format specifiers.
>> 
>> The fundamental issue here is that printing an Optional is probably not what 
>> you want to do, since it will print Optional(“your wrapped value”). If this 
>> is what you want, you will need to be explicit with String(describing:); if 
>> not, then use the nil coalescing operator to fallback to a value you want. 
>> You can also try guaranteeing that the value is not an optional by 
>> unwrapping it.
> 
> What I'm trying to avoid is dealing with it at the call site. I have to do 
> that every time, and for printing of debug messages, "Optional()" is fine 
> (although I have a proposal in mind to address that, too; I'd much rather 
> just see "nil”)

Hmm, your code doesn’t seem to have any warnings anymore…

> 
> 
> -- 
> Rick Mann
> [email protected] <mailto:[email protected]>
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to