- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Re: Placeholder and parameters order
Tue, 2009-03-24, 19:08
I'm sorry about my bad explanation.
The problem would be order of parameters:
s1 contains s2
s2 contains s1
To imitate directContainsConstraint and reverseContainsConstraint.
filter("Rocha", "oc", _ contains _) // This forges directContainsConstraint
filter("oc", "Rocha", ???) // How could I forge reverseContainsConstraint with placeholder ?
Thanks.
On Tue, Mar 24, 2009 at 14:58, Alex Boisvert <boisvert@intalio.com> wrote:
--
Édson Rocha Patrício
www.verde.com.br
The problem would be order of parameters:
s1 contains s2
s2 contains s1
To imitate directContainsConstraint and reverseContainsConstraint.
filter("Rocha", "oc", _ contains _) // This forges directContainsConstraint
filter("oc", "Rocha", ???) // How could I forge reverseContainsConstraint with placeholder ?
Thanks.
On Tue, Mar 24, 2009 at 14:58, Alex Boisvert <boisvert@intalio.com> wrote:
reverseContainsConstraint(_,_)
On Tue, Mar 24, 2009 at 10:49 AM, Édson Rocha <edsonpatricio@gmail.com> wrote:
Hi,
About following code.
<scala>
object Placeholder {
def filter(a: String, b: String, constraint: (String, String) => Boolean) = if(constraint(a, b)) println(a + " PASSED !")
else println(a + " FAILED !")
def directContainsConstraint(s1: String, s2: String) = s1 contains s2
def reverseContainsConstraint(s1: String, s2: String) = s2 contains s1
def main(args : Array[String]) {
filter("Rocha", "oc", _ contains _) // directContainsConstraint
filter("oc", "Rocha", reverseContainsConstraint) // How could I use this with placeholder ?
}
}
</scala>
Is it possible ?
I'm asking out of cusiosity. :-)
Thanks in advance
--
Édson Rocha Patrício
www.verde.com.br
--
Édson Rocha Patrício
www.verde.com.br
Tue, 2009-03-24, 20:57
#2
Re: Placeholder and parameters order
On Tue, Mar 24, 2009 at 03:08:37PM -0300, Édson Rocha said
> I'm sorry about my bad explanation.
>
> The problem would be order of parameters:
>
> s1 contains s2
> s2 contains s1
>
> To imitate directContainsConstraint and reverseContainsConstraint.
>
> filter("Rocha", "oc", _ contains _) // This forges directContainsConstraint
> filter("oc", "Rocha", *???*) * //* *How could I forge
> reverseContainsConstraint** with placeholder ?*
Using this additional function:
def flip[A,B,C](f: (A,B) => C): (B,A) => C = (b: B, a: A) => f(a,b)
You could do
filter("oc", "Rocha", flip(_ contains _))
This (and other functional oriented stuff) is included in scalaz
(http://code.google.com/p/scalaz/)
On Tue, Mar 24, 2009 at 11:08 AM, Édson Rocha <edsonpatricio@gmail.com> wrote:
filter("oc", "Rocha", (a, b) => b contains a)
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp