Justin Regele wrote:
Type Errors where the object is unscriptable means that it does not
have any indices intialized.
Use the python interactive interpreter to play around with list
methods, and see how they work correctly. This is one of pythons best
weapons. if you don't know what objects are in a module, or what
attributes/methods are in a class type in dir(<module or classname>)
and it will spell it out for you.
you do need to initialize a list before access, however.
so you CANT do this
x = []
x[0] = 'something'
you would have to do this(making a list of 10 None objects)
x = [None] * 10
x[0] = 'something'
OR use the append() method to make the list more like a dynamic array
x = []
x.append('something')
this is the python way of doing it, but i'm not sure why you need a
.NET list array.
He is creating the list from C# and making it available to Python code.
As far as I can tell he is doing it right, although maybe the fact that
his C# book class is private is interfering with it?
Michael
On Mon, Jun 8, 2009 at 11:27 AM, Larry Danberger
<[email protected] <mailto:[email protected]>> wrote:
Hi all,
I'm new to Python and IronPython, sorry if this is obvious. I
haven't found
answer searching web or in IronPython In Action book...
I have embedded IronPython into silverlight app for scripting,
which is
working (wow! Btw). I use scope.SetVariable for dictionaries
which works as
expected.
However when passing in a list I am unable to access the objects
within a
list.
For the example below when trying
x = books[0].Name
I get
TypeError: 'List[books]' object is unsubscriptable
If I do
x = books
I get back
System.Collections.Generic.List'1[testapp.PythonEngine+book]
If I do
Len(books)
I get back 4.
How do I access them individually (by name etc.)?
My code looks something like this:
Class book
{
int ID { get; set; }
String Name { get; set; }
String Author { get; set; }
String Description { get; set; }
}
...
List<book> _books = new List<book>();
_books.Add(new book { ID=1, Name="book1", Author="author1",
Description="Description1"});
_books.Add(new book { ID=2, Name="book2", Author="author2",
Description="Description2"});
_books.Add(new book { ID=3, Name="book3", Author="author3",
Description="Description3"});
_books.Add(new book { ID=4, Name="book4", Author="author4",
Description="Description4"});
...
_scope.SetVariable("books", _books);
Any help appreciated, thanks!
-Larry
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com