Hey Jorge,

To a degree, "" is clearer - I was thinking particularly about
database reads in mapper that could possibly return a null. Or would
you prefer to see something like:

?("some.key", tryo(something.field).openOr(""))

Cheers, Tim

On Mar 9, 7:08 am, Jorge Ortiz <[email protected]> wrote:
> Nulls are really bad form in idiomatic Scala. If nulls are just treated as
> the empty string, why can't the user just pass in the empty string ""? It's
> less typing, and it's more clear how it'll be handled.
>
> --j
>
> On Fri, Mar 6, 2009 at 11:41 PM, Derek Chen-Becker 
> <[email protected]>wrote:
>
> > I think that adding an overload for loc(String,String) that maps to
> > loc(String,NodeSeq) with null testing provides simplicity for the user (not
> > having to explicitly wrap everything in Text() unless you have specific need
> > for it). At the risk of making this a little more complex but adding some
> > flexibility, how about
>
> > def loc(key : String, default : => String) =
> > loc(str).openOr(Text(Box.!!(default).openOr("")))
>
> > I'm not sure what we really want to return if the provided default is null.
> > I was also wondering if we want to Log a failed lookup key so that you could
> > easily determine that you missed some l10n properties. That could look like:
>
> > def loc(key : String, default : => String) = loc(str).openOr({
> >   Log.warn({() => "Failed lookup of " + key + " for locale " + S.locale})
> >   Text(Box.!!(default).openOr(""))
> > }
>
> > Cheers,
>
> > Derek
>
> > On Fri, Mar 6, 2009 at 4:57 PM, David Pollak <
> > [email protected]> wrote:
>
> >> On Fri, Mar 6, 2009 at 3:52 PM, Timothy Perrett 
> >> <[email protected]>wrote:
>
> >>> Isn't the danger here that Text() will explode if for some reason default
> >>> was null (e.g Reading from a DB)?
>
> >>> It's not a massive issue, as people should be diligent about supplying
> >>> defaults but it's just a though.
>
> >> You can always add null testing.
> >> - Show quoted text -
>
> >>> Cheers, Tim
>
> >>> Sent from my iPhone
>
> >>> On 6 Mar 2009, at 18:32, Derek Chen-Becker <[email protected]>
> >>> wrote:
>
> >>> It would be a little cleaner if there was a helper overload:
>
> >>> def loc (key : String, default : String) = loc(key, Text(default))
>
> >>> Derek
>
> >>> On Fri, Mar 6, 2009 at 12:16 PM, Timothy Perrett <
> >>> [email protected]> wrote:
>
> >>>> I've just been looking at some of the other method overloads in S and
> >>>> it appears we already have:
>
> >>>> S.loc(String, NodeSeq)
>
> >>>> This is exactly what I need anyway - wondering if there is any need to
> >>>> override S.? with another method now?
>
> >>>> Cheers, Tim
>
> >>>> On Mar 6, 5:03 pm, Timothy Perrett <[email protected]> wrote:
> >>>> > Sounds cool - I'll make the change and commit it.
>
> >>>> > Cheers, Tim
>
> >>>> > On 06/03/2009 16:56, "marius d." <[email protected]> wrote:
>
> >>>> > > +1 for overloading '? '
>
> >>>> > > On Mar 6, 4:52 pm, Derek Chen-Becker <[email protected]> wrote:
> >>>> > >> I think this is a reasonable addition, but I would use
>
> >>>> > >> def ?(key : String, defaultKey : String) = ...
>
> >>>> > >> That way changing the default text just doesn't require changes to
> >>>> code.
>
> >>>> > >> Derek
>
> >>>> > >> On Fri, Mar 6, 2009 at 6:29 AM, Tim Perrett
> >>>> <[email protected]> wrote:
>
> >>>> > >>> Guys,
>
> >>>> > >>> I have a situation where I want to localize a bunch of dynamic
> >>>> texts,
> >>>> > >>> however the current behavior of S.? is to return the input text if
> >>>> its
> >>>> > >>> found in a resource bundle. Whilst I see the rational for this, I
> >>>> have
> >>>> > >>> another situation where I want to pass a key, and if it doesn't
> >>>> find
> >>>> > >>> it, display something else (the english version). Id rather not
> >>>> use
> >>>> > >>> the english text as the translation key, as if the english text
> >>>> > >>> changes, my database translations will break (not good!)
>
> >>>> > >>> I can achieve the functionality needed right by doing something
> >>>> like:
>
> >>>> > >>>        S.loc(item.localization_key.toString + ".name") match {
> >>>> > >>>          case Full(t) => t
> >>>> > >>>          case _ => Text(doc.name.toString)
> >>>> > >>>        }
>
> >>>> > >>> But it would be nice if we could have a utility method in S which
> >>>> > >>> allowed you do do:
>
> >>>> > >>> ?("my.localization.key", defaultText.toString)
>
> >>>> > >>> Thoughts?
>
> >>>> > >>> Cheers, Tim
>
> >> --
> >> Lift, the simply functional web frameworkhttp://liftweb.net
> >> Beginning Scalahttp://www.apress.com/book/view/1430219890
> >> Follow me:http://twitter.com/dpp
> >> Git some:http://github.com/dpp
> >> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to