Sto facendo un semplicistico IDE nel browser per alcune codifiche specifiche del dominio. Perché mi piace pensieri di Bret Victor sulla Programmazione Apprendimento così tanto che ho pensato di inserire alcuni numeri trascurabili a Tangle.js (fai clic qui per vedere di cosa sto parlando) .
La mia implementazione è un controllo di input del cursore molto più semplice, ma l'idea è la stessa. Tuttavia, si presenta un problema. Il cursore di trascinamento ha bisogno di valori per min, max e step. Poiché i valori sono inseriti dall'utente, non riesco a codificarli. Attualmente faccio {min: currentValue/10, max: currentValue*5}
, ma è così semplicistico che non ha senso in una grande classe di casi.
Quello che mi piacerebbe è un algoritmo (che immagino sarebbe solo un semplice calcolo) che dato un valore per un numero farebbe delle buone ipotesi sui valori min, max e step. (O qualsiasi 2 di quelli da quando ottenere il terzo sarebbe banale).
ad es.
fn(15) -> {min: 0, max: 35, step: 1}
fn(1.478) -> {min: -2, max: 5, step: .2}
fn(-7034) -> {min: -35000, max: -500, step: 100}
Ovviamente non è necessario e non può essere perfetto, ma mi chiedo se qualcuno abbia un'idea per un algoritmo o qualcosa di mistico che abbia senso qui.