Semplice domanda di creazione della matriceHo del codice in cui ho bisogno di passare una matrice con un valore per evidenziare una riga in una tabella:
nw = new window("test",
tb = table box(
string col box("Col1", {"aa", "bb", "cc"}),
number col box("Col2", [1, 2, 3])
)
);
rm = [2];
tb << set selected rows(rm);
Il numero di riga da evidenziare è una variabile. Vorrei usare la sintassi più semplice per creare la matrice dei numeri di riga usando questa variabile. Questi metodi non funzionano:
a = 2; // Need a matrix holding this variable value
b = [a]; // Doesn't work
c = [expr(a)]; // No
d = [eval(a)]; // No
e = [eval(expr(a))]; // No
Questi sono i metodi con cui sono uscito che funzionano:
// Works but so complicated...
f = eval(parse(evalinsert("[^a^]"))); // Yes
// Works too
g = [1];
g[1] = a; // Yes
Esiste un one-liner più semplice che mi manca? Voglio solo creare una matrice come [2] dinamicamente.
Ri: Semplice domanda di creazione della matriceHa - perfetto! Grazie Jeff.
Ri: Semplice domanda di creazione della matricePenso che la funzione Matrix () farà ciò che stai cercando:
//:*/
a=2;
b=matrix(a);
/*:
[2]
Nel tuo esempio originale:
a = 2;
nw = New Window( "test",
tb = Table Box(
String Col Box( "Col1", {"aa", "bb", "cc"} ),
Number Col Box( "Col2", [1, 2, 3] )
)
);
rm = Matrix( a );
tb << set selected rows( rm );Ri: Semplice domanda per la creazione di matriciCiao,
Come eseguo questo concetto al contrario?
a = [2]
b = 2
?
Ri: Semplice domanda per la creazione di matriciIl processo originale era di creare una matrice da uno scalare, quindi suppongo che tu stia chiedendo come restituire uno scalare da una matrice. Utilizzare il pedice per accedere a qualsiasi elemento nella matrice.
// make 1x1 matrix (one element)
a = [2];
// obtain element with a script using row-wise index or [row,col] coordinate
b = a[1];
b = a[1,1];
Ri: Semplice domanda per la creazione di matriciFunziona anche questo:
a = 2;
// Concat scalar with empty matrix
b = a || [];
// Same, but in place
a ||= [];
Show(a, b);
/*:
a = [2];
b = [2];