割り当てと変数に関する質問
(* For example *) SP = SparseArray[{},5] or SP = Range[5]
ここで、この配列を別の関数で操作したいと思います。
(* example *) Fun[array_]:= array[[3]] = 100 ; (* set cell №3 equal to 100*)
次に、評価します
Fun[SP]
エラー!出力は次のようなエラーになります:Set::write Tag SparseArray in ... is Protected.
では、関数内の関数(非純粋関数)の引数を変更する正しい方法は何ですか?アナログのようなものを作成する方法はPart[]
?
多分smthのように:
Clear[f]; f[a_]:=Set[Symbol[a][[3]],100]; A =SparseArray[{},5]; f["A"];
しかし、それは再びエラーです