RCommon StringTable.SetString in Py

immagine

provato sia con, che senza impostare static al Metodo

Hmmm … erano piu’ chiari i messaggi di errore di C# … :smile:

Sembra che si lamenti di un metodo con un solo parametro stringa …
ma non lo vedo.
O forse vuol dire qualcos’altro.

In ogni caso, scritto cosi’ SetString lo usi come un metodo statico, ma non e’ statico. :neutral_face:

Non so perche’ tu stia usando una classe con un metodo.
Se vuoi usala pure, ma non e’ necessario.

EDIT:

Aspetta … sono arrugginito anche con Python … :smile:

Dato che tu non scrivi un oggetto prima del nome del metodo,
penso che Python interpreti la prima stringa come self, quindi come vero e prorio parametro resta solo la seconda stringa.
E lui si lamenta giustamente che un metodo con quel nome che richieda solo una stringa non esiste. :slight_smile:

ieri avevo capito che era necessario un metodo statico,
quindi per tale requisito credo sia obbligatoria la classe.

Hmmm … non so da dove sia venuto fuori.
Anzi, ti avevo consigliato di fare come nell’esempio da te riportato: evitare di scrivere una classe
per non complicare inutilmente le cose.

immagine

ok piĂą basilare di questo credo sia impossibile :laughing: :laughing:

Ottimo ! :grinning:

Ma e’ sempre scritto allo stesso modo …

mi sa che era meglio C# ahahahah

Se vuoi usare RhinoCommon, non e’ cambiando linguaggio che riesci a evitare la OOP …
:wink: :smile:

ma non era per questo ahahahah

:rofl: :rofl: :joy:

una volta aperto il capitolo; in C# io ero rimasto che un oggetto veniva creato con la parola new
quindi se ieri si era detto che in questo caso non serviva, dedotto che self in Py non servisse. . .

Giusto.
new la usi per creare oggetti.
Ma qui non devi creare nessun oggetto.

Se vuoi collegare delle informazioni al documento, dovrai usare questo oggetto:

usare, non creare.
Quell’oggetto esiste gia’, lo crea Rhino.
Tu lo devi solo utilizzare per salvarci (e poi leggere) le stringhe che vuoi.

ormai mi sembra di stare in un film di Batman mentre parla con l’enigmista. Emilio, di la verità, tra gli studi che hai fatto, hai preso anche un dottorato in torture cinesi. alla fine chi vincerà la goccia o la roccia :rofl: :rofl:

non voglio immaginare le risate che ti stai facendo ad ogni mia risposta ahahahah
e non voglio nemmeno pensare a ciò che dicono chi legge i nostri post
secondo me sembriamo Totò e Peppino ahahahah

Haha … e’ che ho visto da esperienze passate che serve a poco ribadire la stessa idea piu’ e piu’ volte.
Tanto se non si capisce non si capisce. :smile:
Meglio non insistere troppo.
Se la cosa interessa ci saranno domande precise.

Ad esempio, e’ da ieri che dico come fare:

Ma pare non interessi. :wink:
Allora mi limito a rispondere alle domande e a spiegare i messaggi di errore.

Be’ … e’ gia’ un bel sembrare !
:grinning:

qui sembra che mi inviti a scrivere il metodo utilizzando la parola self
sarebbe utile capire a priori quando in un metodo ha bisogno di un oggetto o no…

ormai ho postato tutti i messaggi che Rhino poteva mandare ahahahah

vabbè io qui mi arrendo, game over nei giochi anni 80

dopo vedo in questo 3d cosa spiegano e provo

con questo sembri che funzioni:

ma usa: import scriptcontext as sc

Non dico di scrivere self, ma

C’e’ scritto un oggetto, non self.

Voglio dire che Python prende quella stringa come self perche’ prima del nome del metodo, anziche’ trovare un oggetto (da considerare come self), lui trova il nome della classe.
Quindi Python pensa che tu il riferimento all’oggetto (dato che non lo scrivi prima) lo scrivi dopo come primo dei parametri.

Fa parte della flessibilita’ di Python, puoi richiamare quel metodo in piu’ modi …
C# ti segnalerebbe direttamente l’errore: cioe’ richiami un metodo “di istanza”, diciamo cosi’, col nome della classe, cioe’ come se fosse un metodo statico.

Che sarebbe utile non ho alcun dubbio … :smile:
Ne parliamo da giorni … :grinning:
Un metodo di istanza (quelli che non dichiari static) richiede un oggetto.
Un metodo statico richiede la classe.

La regola e’ semplice.
E, come accennavo, e’ un concetto fondamentale per utilizzare la OOP.
Se confondi classi con oggetti e relativi metodi diventa tutto piu’ difficile.

Come dicevo, credo sia solo questione che ragioniamo in modo diverso e non riusciamo a capirci.
Peccato che finora non abbiano risposto anche altri.
Ma sono ancora il tempo … :grinning:

Trattandosi di Python, usa scriptcontext.doc

1 Mi Piace

Paperoga, ho vinto qualche cossa?
Ciccio di nonna papera, ho vinto qualche cosssa?
:joy:

E questo cosa sarebbe ?

:smile:

1 Mi Piace

Lucio :smile:

2 Mi Piace