LINQ is pretty cool -- thanks for the update Keith.

I do find it amusing that many of these "queries" are available in standard
Python through list comprehensions, lambda, etc.

Here's a simple LINQ example:

[Category("Restriction Operators")]
[Title("Where - Simple 1")]
[Description("This sample uses where to find all elements of an array less
than 5.")]
public void Linq1() {
        int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

        var lowNums =
                from n in numbers
                where n < 5
                select n;
        
        Console.WriteLine("Numbers < 5:");
        foreach (var x in lowNums) {
                Console.WriteLine(x);
        }
}

Here's the Python equivalent:

>>> numbers = [5, 4, 1, 3, 9, 8, 6, 7, 2, 0]
>>> lownums = [n for n in numbers if n < 5]
>>> lownums
[4, 1, 3, 2, 0]
>>>

For most simple extractions of this sort, I prefer the Python list
comprehension.  IMO, the power of LINQ comes from integrating to databases
using the same syntax as you would for other IEnumerable objects.


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:users-
> [EMAIL PROTECTED] On Behalf Of Keith J. Farmer
> Sent: Monday, September 19, 2005 3:43 PM
> To: users-ironpython.com@lists.ironpython.com
> Subject: [IronPython] Extension methods...
> 
> All the fun Linq bits run on beta 2.  All that's needed is a way to make
> use of extension method attributes, which is remarkably Pythonic:
> foo.Bar(baz) -> Gleep.Bar(foo, baz).  Python already has lambdas, but
> could use a means to generate expression trees rather than functions.
> 
> 
> _______________________________________________
> users-ironpython.com mailing list
> users-ironpython.com@lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
users-ironpython.com mailing list
users-ironpython.com@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to