Nuovo blog della sfida di scripting JMPSto lavorando con @arati_mejdal , ryan gilmore e @julian parris metterà insieme un post mensile di Scripting Challenge che inizierà all'inizio del mese prossimo. Lo sto aprendo a tutti, anche se il punteggio verrà mantenuto solo per le persone che non fanno parte del personale (potrei essere convinto a mantenere una classifica del personale separata). Ti sto dando uno sguardo avanzato, sperando che alcuni di voi invieranno prima del lancio ufficiale. Questo mi aiuterà a risolvere eventuali problemi imprevisti con la sfida. Inoltre, uno dei criteri di punteggio bonus sarà l'invio di uno script più veloce di qualsiasi altra cosa da parte dello staff. Di seguito è la prima sfida. Ho allegato il dizionario a questo post. Commenti e domande apprezzate.
Adoro un buon puzzle di parole. Questa sfida è ispirata a Spelling Bee nel New York Times. In esso, è necessario creare parole da un elenco di sette lettere con la condizione che una delle lettere sia sempre utilizzata. Le altre lettere possono essere usate una volta, più di una volta o per niente. Sto modificando le condizioni per rendere le cose un po 'più complicate.
Dato sette lettere, trova:
- La parola più lunga usando tutte e sette le lettere e solo quelle sette. Le lettere possono essere utilizzate più di una volta.
- La parola più lunga usando tutte e sette le lettere e tutte le altre lettere.
- La parola più lunga che utilizza tutte e sette le lettere e qualsiasi altra lettera in cui nessuna lettera dell'insieme di sette viene utilizzata più di una volta.
- La parola più lunga in cui appare 5 delle 7 lettere. Qualsiasi lettera, incluse quelle esterne al 7, può apparire una o più volte, tranne le due lettere inutilizzate che potrebbero non apparire affatto.
Gli script devono accettare un elenco di sette stringhe di caratteri alfabetici (az) minuscole che verranno archiviate in una variabile globale denominata letterSetList . Tutti gli script verranno testati sugli stessi tre set di sette lettere. Tutte le parole saranno prese dal dizionario pubblicato di seguito. Si può presumere che verrà aperto come una tabella dati JMP quando viene eseguito lo script.
Ri: Nuovo blog di JMP Scripting ChallengeIl tuo punteggio terrà conto della qualità delle annotazioni? In particolare, puoi incorporarlo nel punteggio per incoraggiare le annotazioni che un principiante JSL potrebbe utilizzare per migliorare le proprie abilità JSL?
Ri: Nuovo blog di JMP Scripting ChallengeNon al momento. Il problema con qualsiasi caratteristica qualitativa è la soggettività. Suppongo di poter assegnare punti bonus a mia discrezione. Ho pianificato di sottolineare e rendere disponibili script che non erano necessariamente i più veloci ma possedevano altre caratteristiche interessanti. Sottolineerò anche le buone pratiche di programmazione nei post.
Ri: Nuovo blog di JMP Scripting ChallengeDon, che mi dici dei legami? Funzioni come Contains () e Loc Max () trovano solo la prima occorrenza. Inoltre, ci sono linee guida per la visualizzazione dei risultati? Variabile globale o Nuova finestra ()?
Ri: Nuovo blog di JMP Scripting ChallengeGrazie @di_michelson , tali informazioni saranno nel corpo del post. Quello che ho attualmente è:
Per tutti e quattro gli elementi, potrebbero non esserci parole che soddisfano i criteri o più parole. Gli script devono accettare un elenco di sette stringhe di caratteri alfabetici (az) minuscole che verranno archiviate in una variabile globale denominata letterSetList . Tutti gli script verranno testati sugli stessi tre set di sette lettere. Tutte le parole saranno prese dal dizionario pubblicato di seguito. Si prega di accedervi come una tabella di dati JMP quando viene eseguito lo script. Scrivi tutte le parole nel registro. Assicurati di includere il numero dell'articolo con l'output. Avrai un limite di tempo di tre minuti in totale.
Spero che sia abbastanza chiaro per indicare che voglio tutte le parole più lunghe. Spero anche che richiedere l'output inviato al registro mi faciliti il punteggio degli script nel caso ne avessi un sacco.