I am trying to modify some code proposed here Part assignment is not a symbol
and I cannot manage to make Flatten work. I write
m = {0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.9, 1.0, 1.5, 1.6};
f[list_] := Flatten[Module[{titi = {r, x, y, u, v, n, l, w, s}},
Transpose[{titi, Rest@list}]] /; Length[list] > Length[titi]];
and I get
f[m]
{{r, 0.3}, {x, 0.4}, {y, 0.5}, {u, 0.6}, {v, 0.7}, {n, 0.9}, {l, 1.}, {w, 1.5}, {s, 1.6}}
condition, utilizing a form of what we "normally" write within the memoization, yeah?) {checking my understanding, asking for an extension of your answer, if this requires another question to be prosed, I will need to learn fully what I can and cannot "ask" for in a comment!} As always, great work, very clear and understandable! – CA Trevillian May 20 '19 at 11:53RuleConditionand$ConditionHold. These are not documented, and I never took the time to fully understand them, but you can search this site to find many discussions. 2. The syntax I described is documented under Details in the Module/Block/With doc pages. It is not widely known, but it's the way to implement the typical error-handling behaviour we see in built-in functions: if something goes wrong, the function does not evaluate. This feature is needed because thing often go wrong late in the processing. 3. I do not see any shortcoming. – Szabolcs May 20 '19 at 12:48f[x_ /; IntegerQ[x]] := ...can be changed tof[x_] /; IntegerQ[x] := ...can be changed tof[x_] := ... /; Integer[Q](!) can be changed tof[x_] := Module[{}, ...; ... /; IntegerQ[x]]. But there it stops. It does not go deeper. – Szabolcs May 21 '19 at 16:40