Hi,
I like the getOrElse way of accessing data very much as it allows to
handle non-existing values with very little code. However, I am still
looking for a more elegant replacement for this:
val username = User.find(id).getOrElse(User.create.name("User not
found")).name
Ok, this is very short already. But still it feels wrong to create an
instance of User (AFAIK a rather expensive operation, especially when
used while creating lists) when all I need is a string.
How do you guys handle such cases?
Regards,
Eros
David Pollak wrote:
>
>
> On Thu, Nov 12, 2009 at 5:53 AM, Ferdinand Chan <[email protected]
> <mailto:[email protected]>> wrote:
>
>
> David,
>
> Thanks for the blog entry and it does a great job in explaining how
> Option works and how to use it.
>
> May I suggest that we add a link to this blog post on Lift Wiki???
> Correct me if I'm wrong but I think most newbie to Scala / Lift may
> wonder and puzzle how Box / Option works.
>
> I know you're very busy and with your permission, I'm willing to add
> this to the wiki
>
>
> No permission required. Please add whatever valuable things to the
> Lift wiki (the one at http://wiki.github.com/dpp/liftweb )
>
>
>
> Oh, and I think I really need to tweak my mind a bit and start to
> think in a more functional / scala way
>
>
> Yeah... it's a change in mindset, but I think you'll find the change
> to be welcome in terms of your own productivity, your ability to read
> others' code, and overall code stability.
>
> Thanks,
>
> David
>
>
>
> Cheers,
>
> Ferdinand
>
> On Nov 12, 6:55 am, David Pollak <[email protected]
> <mailto:[email protected]>>
> wrote:
> >
> http://blog.lostlake.org/index.php?/archives/50-The-Scala-Option-clas...
> >
> > The for comprehension is your friend.
> >
> >
> >
> >
> >
> > On Wed, Nov 11, 2009 at 2:40 PM, Ferdinand Chan
> <[email protected] <mailto:[email protected]>> wrote:
> >
> > > Wondering what's the normal practice of using a Box. As a Java
> > > developer, I always want to get the boxed value by a method named
> > > "Value" like
> >
> > > val optionalContent = Full("This is optional")
> >
> > > Log.info( " The optional content is " + optionalContent.value)
> >
> > > But I know its not a valid way to do so in lift ( same for
> Option in
> > > Scala)
> >
> > > From the book programming in Scala , there's an example
> >
> > > val withDefault: Option[Int] => Int = {
> > > case Some(x) => x
> > > case None => 0
> > > }
> >
> > > which suggest the use of match to retrieve the value of the boxed
> > > content. It make sense to me and I'm totally agree with the
> advantage
> > > of using match + option (Box) combination.
> >
> > > However, as a newbie to Scala, I'm so tempted to use something
> > > like .Value to retrieve the box value .
> >
> > > So, what's the normal way to use Box ?? Could someone kindly
> provide
> > > some example on how to use ? I tried to look through some
> source code
> > > of Lift but its not easy for a newbie :)
> >
> > > Thanks
> >
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> <http://liftweb.net>
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> <http://www.apress.com/book/view/1430219890>
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics
>
>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---