While python

x = True
while x:
	x = rs.GetPointOnCurve(objCrv, "Sel")

in questo caso sono obbligato a dichiarare prima la variabile “x”?

Ciao Salvio

Direi di si’ … Python vuole che tu dia un valore alle variabili per poterle utilizzare.
Lui non da’ valori standard da solo.
Credo che il VBS invece permetta di usare variabili non inizializzate.

Per logica la variabile DEVE essere sempre inizializzata prima di un ciclo while altrimenti molto probabilmente il ciclo non verrebbe mai eseguito visto che la condizione è posta all’inizio del ciclo … :sunglasses:
(vedi in alternativa Do - While che fa comunque eseguire almeno una volta le istruzioni contenute).
GetPointOnCurve restituisce un boolean (True / False)?

Ciao Sergio

Dovrebbe restituire un Point3d (che ‘booleanizzato’ vale True ) oppure None ( che vale False )

Penso anch’io che qui servirebbe un loop Do While … che Python non ha. :confused:

Non sarebbe più corretto verificare che x sia un punto anzichè valido o non valido?

x = rs.GetPointOnCurve(objCrv, "Sel")
While rs.IsPoint(x):
         x = rs.GetPointOnCurve(objCrv, "Sel")

Occhio Lucio … che rs.GetPointOnCurve restituisce un Point3d
Ma rs.IsPoint vuole un Guid

EDIT

Potremmo scrivere

while isinstance( x, Rhino.Geometry.Point3d ):

Ah si, hai ragione, ho visto adesso che vuole l’ID…
Bisogna stare attenti a tutto qua…

un grazie a tutti per le risposte e chiarimenti

eeee a chi lo dici, non si deve mai dare nulla per scontato :slight_smile:

si, infatti se non clicco il punto restituisce False e quindi il While si interrompe :wink:

si, in effetti è così anche nel ciclo “for x = 0” viene dichiarata ed inizializzata
credevo ci fosse una sintassi che che permettesse di fare la stessa cosa :ok_hand:

grazie a tutti :+1:

In Python 3.8, che sara’ rilasciato tra poco, si puo’ scrivere:

while x := rs.GetPointOnCurve(objCrv, "Sel"):

… ma per noi che siamo ‘sotto’ IronPython non cambia niente … :roll_eyes:

Ciao !

:slight_smile: rispondono alle esigenze degli utenti ottimo

(una riga in meno da scrivere) ahahahah

Ma per decidere se aggiungere o meno questa cosa, che come dici giustamente tu e’ utile, non sai quale ‘zuffa’ hanno piantato su gli sviluppatori di Python.
Tanto che alla fine Van Rossum si e’ ‘dimesso’ dal suo ‘ruolo’ …

A volte i programmatori sono gente strana … molto strana … :rofl:

ma cosa dici Emilio,
ho contribuito alla sua dimissione :face_with_raised_eyebrow::face_with_raised_eyebrow:
avevo letto qualcosa, ma non credevo per una cosa simile

beh per l’ultima frase, “a volte” è un po riduttivo ahahahah

ps come Steve Jobs, la storia si ripete…

Mah … credo siano situazioni molto diverse.
E anche persone molto diverse … preferisco 1000 volte Van Rossum … anche se non vado matto per Python.

? ? ? ?

Mai contento, eh ?

:rofl:

mi hai sbalordito con la tua affermazione
non me lo sarei mai aspettato una cosa simile

e vabbè o Python ti ha fatto arrabbiare ultimamente
oppure come hai detto, chi programma non si accontenta mai

ps ma mi pare che si parla di Python come di un partner ahahahah

Perche’ ?
Non ho detto che mi fa schifo, solo che oltre ai pregi ci trovo anche qualche difetto.
Sempre dal mio personale punto di vista, ovvio. :slight_smile:
E senza mettere in dubbio il sacrosanto diritto di Van Rossum di fare di Python cio’ che vuole (anche se orami la cosa sembra superata dai tempi … ).

Se consideri le centinaia di linguaggi che ci sono in giro … direi che e’ abbastanza normale che ci siano idee diverse riguardo ai vari linguaggi … :slight_smile:

per carità ognuno ha le proprie idee e convinzioni ed ha tutto il diritto di cambiarle

e che fin’ora ti ho sempre sentito elogiare le potenzialità di Python quindi mi sono sorpreso

mmmm ma non mi dire che stai pensando di passare anche tu a qualche versione di Cx?

Cos’e’ ?
Una Citroën ? :smile: :wink:

Per scrivere gli script per Rhino ci sono VBS (con maggiori limiti) e Python.
Per usare altro temo si debba essere molto in gamba.

Certo, come quelle di Rhino.
E continuero’ a farlo.
Avere potenzialita’ e qualita’ non vuol dire essere perfetti.

Tu apprezzi e utilizzi solo cio’ che ritieni perfetto ? :slight_smile:

purtroppo la perfezione non esiste, e noi come imperfetti come potremmo creare qualcosa di perfetto?

a proposito dei limiti sia di VBS che PY
ma questi limiti chi li decide, nel senso:
sono limiti dei singoli linguaggi
o di chi sviluppa il linguaggio?