Seite 1 von 1

[C-API] tuple <> list - Kompabilität?

Verfasst: Freitag 26. November 2010, 22:00
von theliquidwave
Hallo.
Gibt es eine Möglichkeit, Aufrufe an ``tuple`` oder ``list`` anzugleichen?
Angenommen, ich rufe eine Funktion auf, anhand dessen Rückgabe ich etwas auswerten möchte.
Da mehrere Daten zurückgegeben werden sollen, bietet sich ein ``tuple`` oder ein ``list`` an.
Ich möchte - wenn möglich - die Autoren von Scripts nicht so weit einschränken um zu sagen, das sie entweder ``tuple`` oder ``list`` benutzen müssen.
Also könnte theoretisch ein ``tuple`` oder ein ``list`` returnt werden.

Gibt es nun eine Möglichkeit, die Aufrufe wie PyTuple_Size, PyTuple_GetItem und so weiter zusammenzufassen?
Bisher mache ich immer mittels PyTuple_Check einen Check und gehe dann entweder den Weg mit PyTuple_X oder PyList_X.

Gruß

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Freitag 26. November 2010, 22:31
von BlackJack
@Chrisber: Du könntest anstelle der auf Typen spezialisierten Funktionen, die allgemeinen verwenden.

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Freitag 26. November 2010, 22:49
von theliquidwave
Da die wären? PySequence_X oder welche meinst du?

Gruß

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Freitag 26. November 2010, 23:28
von BlackJack
@Chrisber: Jup, die meinte ich.

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Sonntag 28. November 2010, 14:01
von theliquidwave
Okay, funktioniert. Danke!

Gibt es auch eine Möglichkeit, den "in"-Operator (falls das einer ist) zu implementieren?
Also so, dass

Code: Alles auswählen

if "blah" in x:
funktioniert?

Finde dazu nichts passendes.

Gruß

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Sonntag 28. November 2010, 15:15
von lunar

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Sonntag 28. November 2010, 19:50
von theliquidwave
Danke :o
Wieso finde ich so etwas nie?! ...

Gruß

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Montag 29. November 2010, 16:46
von theliquidwave
Mhh, und wie implementiere ich dass nun in der C-API? :K
Ein tp_contains o.Ä. gibt es ja nicht...

Gruß

Re: [C-API] tuple <> list - Kompabilität?

Verfasst: Montag 29. November 2010, 16:56
von BlackJack
@Chrisber: Sag mal wie suchst Du denn in der Dokumentation das Du da nie was findest? Zum Beispiel `sq_contains`.