OK, here's a [list-s2l] with delimiting. This wasn't easy. =o) Included are all the abstractions needed --
[symbollength] calculates the length of a symbol. [list-l2f], as yet undocumented, attempts to build a float from an incoming stream of numbers and symbols -- works pretty well. I tried to get as close as possible to the behavior of zexy [s2l] and [list-l2s] ... It's probably not fast enough to use in practice, but it would be worth testing with small symbols to find out If you could test it, I could work out the bugs. I'd take suggestions, of course. Matt On Mon, Nov 16, 2009 at 6:22 PM, Matt Barber <brbrof...@gmail.com> wrote: > Hello list, > > Attached is a prototype for a vanilla + list-abs [list-s2l]. I have > leaned on the side of completeness and error reduction rather than > efficiency -- there are many many ways to make this more efficient. > Also, it doesn't handle delimiters yet (right now it breaks a symbol > into its constituent characters, casting float symbols back to float), > but I think I could figure out how to do it. > > Neither this nor [list-l2s] handles % appropriately... > > I'd appreciate any feedback. > > Matt >
#N canvas 281 56 684 695 10; #X obj 122 513 sel s; #X obj 143 361 makefilename %%.%ds; #X msg 143 388 set \$1; #X obj 48 212 until; #X obj 76 297 + 1; #X obj 33 623 f; #X obj 122 311 symbol; #X obj 48 238 t b b; #X obj 149 563 s \$0-stop; #X obj 122 539 t b b; #X obj 75 174 r \$0-stop; #X obj 192 468 print; #X obj 184 46 inlet; #X obj 184 174 t b b s; #X obj 184 73 route symbol; #X obj 33 644 outlet; #X obj 192 445 spigot 0; #X obj 237 423 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 223 204 s \$0-sym; #X obj 122 280 r \$0-sym; #X obj 149 490 r \$0-sym; #X obj 122 422 makefilename; #X text 31 18 find length of symbol by iterating the first n characters ; #X text 276 362 <- sprintf fun; #X text 266 423 <- try this on; #X obj 48 297 f 1; #X msg 138 232 1; #X obj 157 145 sel s; #X obj 184 100 loadbang; #X msg 184 122 symbol; #X obj 208 262 s \$0-protect; #X obj 103 604 r \$0-protect; #X msg 103 627 0; #X connect 0 0 9 0; #X connect 1 0 2 0; #X connect 2 0 21 0; #X connect 3 0 7 0; #X connect 4 0 25 1; #X connect 5 0 15 0; #X connect 6 0 21 0; #X connect 7 0 6 0; #X connect 7 1 25 0; #X connect 9 0 5 0; #X connect 9 1 8 0; #X connect 10 0 3 1; #X connect 12 0 14 0; #X connect 13 0 3 0; #X connect 13 1 26 0; #X connect 13 2 18 0; #X connect 14 0 27 0; #X connect 16 0 11 0; #X connect 17 0 16 1; #X connect 19 0 6 1; #X connect 20 0 0 1; #X connect 21 0 0 0; #X connect 21 0 16 0; #X connect 25 0 4 0; #X connect 25 0 5 1; #X connect 25 0 1 0; #X connect 26 0 25 1; #X connect 27 0 30 0; #X connect 27 1 13 0; #X connect 28 0 29 0; #X connect 29 0 27 1; #X connect 31 0 32 0; #X connect 32 0 15 0;
#N canvas 600 22 381 423 10; #N canvas 152 93 601 673 \$0-split-exp 0; #X obj 133 263 list-fifo-delim E; #X obj 133 174 until; #X obj 250 197 b; #X obj 250 263 b; #X obj 116 229 until; #X obj 133 197 list-fifo-delim e; #X obj 99 37 inlet; #X obj 231 357 f 1; #X msg 246 336 1; #X obj 246 315 r \$0-init; #X obj 267 357 + 1; #X obj 216 492 == 2; #X obj 216 517 sel 0; #X obj 216 470 f; #X obj 119 374 list prepend; #X obj 133 287 t a b; #X obj 119 401 route 1 2; #X obj 73 453 list; #X obj 123 453 list; #X obj 73 340 t b b b; #X obj 73 547 spigot; #X obj 123 547 spigot; #X obj 123 574 outlet; #X obj 73 574 outlet; #X obj 216 541 s \$0-not-float; #X obj 201 81 list-splat -1; #X obj 238 105 sel e E; #X obj 99 91 spigot; #X obj 99 118 t b b b a; #X obj 99 64 t a a; #X obj 151 37 r \$0-init; #X msg 151 59 1; #X msg 194 120 0; #X obj 238 152 s \$0-not-float; #X obj 238 128 t b b; #X connect 0 0 15 0; #X connect 0 1 3 0; #X connect 1 0 5 0; #X connect 2 0 1 1; #X connect 3 0 4 1; #X connect 4 0 0 0; #X connect 5 0 0 1; #X connect 5 1 2 0; #X connect 6 0 29 0; #X connect 7 0 10 0; #X connect 7 0 13 1; #X connect 7 0 14 1; #X connect 8 0 7 1; #X connect 9 0 8 0; #X connect 10 0 7 1; #X connect 11 0 12 0; #X connect 11 0 20 1; #X connect 11 0 21 1; #X connect 12 0 24 0; #X connect 13 0 11 0; #X connect 14 0 16 0; #X connect 15 0 14 0; #X connect 15 1 7 0; #X connect 16 0 17 1; #X connect 16 1 18 1; #X connect 17 0 20 0; #X connect 18 0 21 0; #X connect 19 0 17 0; #X connect 19 1 18 0; #X connect 19 2 13 0; #X connect 20 0 23 0; #X connect 21 0 22 0; #X connect 25 1 26 0; #X connect 26 0 34 0; #X connect 26 1 34 0; #X connect 27 0 28 0; #X connect 28 0 19 0; #X connect 28 1 4 0; #X connect 28 2 1 0; #X connect 28 3 5 1; #X connect 29 0 27 0; #X connect 29 1 25 0; #X connect 30 0 31 0; #X connect 31 0 27 1; #X connect 32 0 27 1; #X connect 34 0 33 0; #X connect 34 1 32 0; #X restore 69 167 pd \$0-split-exp; #X obj 71 109 s \$0-init; #N canvas 114 405 327 248 \$0-exp 0; #X obj 87 20 inlet; #N canvas 811 159 593 616 \$0-exp-filter 0; #X obj 157 54 list split 1; #X obj 292 147 list; #X obj 50 147 sel + -; #X obj 69 307 s \$0-neg-exp; #X msg 69 284 -1; #X obj 434 384 == 0; #X obj 454 340 int; #X obj 434 362 -; #X obj 135 164 route float; #X obj 135 186 moses 0; #X obj 135 208 t f b; #X obj 135 241 abs; #X obj 198 208 s \$0-not-float; #X obj 198 186 b; #X obj 146 87 t b a; #X obj 349 199 list-drip; #X obj 412 245 b; #X obj 412 268 s \$0-not-float; #X obj 292 356 spigot; #X msg 88 217 1; #X obj 292 380 s \$0-not-float; #X obj 349 224 route float; #X obj 292 177 route bang; #X obj 415 532 spigot; #X obj 434 458 s \$0-not-float; #X obj 434 408 sel 0; #X msg 482 515 1; #X obj 482 493 r \$0-init; #X obj 434 432 t b b; #X msg 448 503 0; #X obj 156 21 inlet; #X obj 415 557 outlet; #X text 64 334 Check first argument for various; #X msg 325 333 0; #X obj 325 311 r \$0-init; #X text 241 431 filter out non-integers ->; #X obj 415 313 t f f f; #X obj 349 248 moses 0; #X connect 0 0 14 0; #X connect 0 1 1 1; #X connect 1 0 22 0; #X connect 2 0 19 0; #X connect 2 1 4 0; #X connect 2 1 19 0; #X connect 2 2 8 0; #X connect 4 0 3 0; #X connect 5 0 25 0; #X connect 6 0 7 1; #X connect 7 0 5 0; #X connect 8 0 9 0; #X connect 8 1 13 0; #X connect 9 0 10 0; #X connect 9 1 36 0; #X connect 10 0 11 0; #X connect 10 1 4 0; #X connect 11 0 36 0; #X connect 13 0 12 0; #X connect 14 0 1 0; #X connect 14 1 2 0; #X connect 15 0 21 0; #X connect 16 0 17 0; #X connect 18 0 20 0; #X connect 19 0 18 1; #X connect 21 0 37 0; #X connect 21 1 16 0; #X connect 22 0 18 0; #X connect 22 1 15 0; #X connect 23 0 31 0; #X connect 25 0 28 0; #X connect 26 0 23 1; #X connect 27 0 26 0; #X connect 28 0 24 0; #X connect 28 1 29 0; #X connect 29 0 23 1; #X connect 30 0 0 0; #X connect 33 0 18 1; #X connect 34 0 33 0; #X connect 36 0 23 0; #X connect 36 1 7 0; #X connect 36 2 6 0; #X connect 37 0 16 0; #X connect 37 1 36 0; #X restore 187 60 pd \$0-exp-filter; #X obj 87 43 t b a; #X obj 52 142 spigot; #X obj 85 83 r \$0-not-float; #X msg 85 104 0; #X obj 119 104 r \$0-init; #X msg 119 125 1; #N canvas 372 81 488 638 \$0-exp-calc 0; #X obj 125 73 inlet; #X obj 183 557 outlet; #X obj 235 240 log; #X msg 235 218 10; #X obj 220 262 /; #X obj 220 175 log; #X obj 220 304 + 1; #X obj 220 283 int; #X obj 235 196 loadbang; #X obj 125 416 f; #X obj 183 447 +; #X obj 183 416 * 10; #X obj 125 105 t b f; #X msg 140 392 0; #X obj 220 354 pow; #X obj 220 330 swap 10; #X obj 140 369 r \$0-init; #X obj 183 488 *; #X obj 240 448 r \$0-neg-exp; #X msg 239 417 1; #X obj 183 513 swap 10; #X obj 183 535 pow; #X obj 193 122 sel 0; #X msg 193 150 1; #X floatatom 114 515 0 0 0 0 - - -; #X msg 55 56 123 \, 456; #X connect 0 0 12 0; #X connect 2 0 4 1; #X connect 3 0 2 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 15 0; #X connect 7 0 6 0; #X connect 8 0 3 0; #X connect 9 0 11 0; #X connect 10 0 9 1; #X connect 10 0 17 0; #X connect 11 0 10 0; #X connect 12 0 9 0; #X connect 12 1 10 1; #X connect 12 1 22 0; #X connect 13 0 9 1; #X connect 14 0 11 1; #X connect 15 0 14 0; #X connect 15 1 14 1; #X connect 16 0 13 0; #X connect 16 0 19 0; #X connect 17 0 20 0; #X connect 17 0 24 0; #X connect 18 0 17 1; #X connect 19 0 17 1; #X connect 20 0 21 0; #X connect 20 1 21 1; #X connect 21 0 1 0; #X connect 22 0 23 0; #X connect 22 1 5 0; #X connect 23 0 5 0; #X connect 25 0 12 0; #X restore 187 83 pd \$0-exp-calc; #X obj 172 181 f; #X obj 172 203 outlet; #X connect 0 0 2 0; #X connect 1 0 8 0; #X connect 2 0 3 0; #X connect 2 1 1 0; #X connect 3 0 9 0; #X connect 4 0 5 0; #X connect 5 0 3 1; #X connect 6 0 7 0; #X connect 7 0 3 1; #X connect 8 0 9 1; #X connect 9 0 10 0; #X restore 156 192 pd \$0-exp; #X obj 141 261 *; #X msg 173 244 1; #X obj 173 222 r \$0-init; #N canvas 126 48 293 185 \$0-mant 0; #X obj 64 28 inlet; #X obj 64 134 outlet; #N canvas 111 156 883 747 \$0-mant-filter 0; #X msg 78 261 -1; #X obj 144 171 route float; #X obj 144 193 moses 0; #X obj 144 215 t f b; #X obj 144 248 abs; #X obj 207 215 s \$0-not-float; #X obj 207 193 b; #X msg 97 204 1; #X obj 78 284 s \$0-neg-mant; #X obj 302 369 spigot; #X obj 302 393 s \$0-not-float; #X msg 335 346 0; #X obj 335 323 r \$0-init; #X obj 167 64 list split 1; #X obj 302 157 list; #X obj 156 97 t b a; #X obj 302 187 route bang; #X obj 166 31 inlet; #X obj 59 134 sel . -; #X obj 359 213 list-drip; #X obj 59 308 s \$0-dot; #X obj 565 217 f 1; #X obj 594 217 + 1; #X obj 580 173 r \$0-init; #X msg 580 195 1; #X msg 538 335 symbol .; #X obj 538 150 r \$0-dot; #X obj 538 172 t b b; #X obj 565 242 moses 2; #X obj 386 258 route float; #X obj 359 236 sel .; #X obj 359 299 s \$0-dot; #X obj 604 265 b; #X obj 604 288 s \$0-not-float; #X obj 449 280 b; #X obj 449 303 s \$0-not-float; #X obj 632 546 r \$0-not-float; #X obj 449 335 moses 0; #X obj 618 459 == 0; #X obj 638 415 int; #X obj 618 437 -; #X obj 599 607 spigot; #X obj 618 513 s \$0-not-float; #X obj 618 483 sel 0; #X msg 666 590 1; #X obj 666 568 r \$0-init; #X msg 632 578 0; #X obj 599 632 outlet; #X obj 599 388 t f f f; #X connect 0 0 8 0; #X connect 1 0 2 0; #X connect 1 1 6 0; #X connect 2 0 3 0; #X connect 2 1 48 0; #X connect 3 0 4 0; #X connect 3 1 0 0; #X connect 4 0 48 0; #X connect 6 0 5 0; #X connect 7 0 9 1; #X connect 9 0 10 0; #X connect 11 0 9 1; #X connect 12 0 11 0; #X connect 13 0 15 0; #X connect 13 1 14 1; #X connect 14 0 16 0; #X connect 15 0 14 0; #X connect 15 1 18 0; #X connect 16 0 9 0; #X connect 16 1 19 0; #X connect 17 0 13 0; #X connect 18 0 7 0; #X connect 18 0 20 0; #X connect 18 1 0 0; #X connect 18 2 1 0; #X connect 19 0 30 0; #X connect 21 0 22 0; #X connect 21 0 28 0; #X connect 22 0 21 1; #X connect 23 0 24 0; #X connect 24 0 21 1; #X connect 25 0 41 0; #X connect 26 0 27 0; #X connect 27 0 25 0; #X connect 27 1 21 0; #X connect 28 1 32 0; #X connect 29 0 37 0; #X connect 29 1 34 0; #X connect 30 0 31 0; #X connect 30 1 29 0; #X connect 32 0 33 0; #X connect 34 0 35 0; #X connect 36 0 46 0; #X connect 37 0 32 0; #X connect 37 1 48 0; #X connect 38 0 43 0; #X connect 39 0 40 1; #X connect 40 0 38 0; #X connect 41 0 47 0; #X connect 43 0 42 0; #X connect 44 0 41 1; #X connect 45 0 44 0; #X connect 46 0 41 1; #X connect 48 0 41 0; #X connect 48 1 40 0; #X connect 48 2 39 0; #X restore 151 83 pd \$0-mant-filter; #N canvas 459 143 418 425 \$0-mant-calc 0; #X obj 153 29 inlet; #X obj 153 60 sel .; #X obj 154 127 list prepend; #X msg 223 104 0; #X obj 223 81 r \$0-init; #X msg 190 104 1; #X obj 227 378 outlet; #N canvas 0 22 382 532 \$0-ints 0; #X obj 79 60 inlet; #X obj 137 458 outlet; #X obj 189 221 log; #X msg 189 199 10; #X obj 174 243 /; #X obj 174 156 log; #X obj 174 285 + 1; #X obj 174 264 int; #X obj 189 177 loadbang; #X obj 79 397 f; #X obj 137 428 +; #X obj 137 397 * 10; #X obj 79 86 t b f; #X msg 94 373 0; #X obj 174 335 pow; #X obj 174 311 swap 10; #X obj 94 350 r \$0-init; #X obj 147 103 sel 0; #X msg 147 131 1; #X connect 0 0 12 0; #X connect 2 0 4 1; #X connect 3 0 2 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 15 0; #X connect 7 0 6 0; #X connect 8 0 3 0; #X connect 9 0 11 0; #X connect 10 0 9 1; #X connect 10 0 1 0; #X connect 11 0 10 0; #X connect 12 0 9 0; #X connect 12 1 10 1; #X connect 12 1 17 0; #X connect 13 0 9 1; #X connect 14 0 11 1; #X connect 15 0 14 0; #X connect 15 1 14 1; #X connect 16 0 13 0; #X connect 17 0 18 0; #X connect 17 1 5 0; #X connect 18 0 5 0; #X restore 242 186 pd \$0-ints; #X obj 154 149 route 1 0; #X obj 242 302 +; #N canvas 142 39 518 731 \$0-fracs 0; #X obj 89 70 inlet; #X obj 171 587 outlet; #X obj 183 241 log; #X msg 183 220 10; #X obj 168 263 /; #X obj 168 176 log; #X obj 168 305 + 1; #X obj 168 284 int; #X obj 183 197 loadbang; #X obj 89 407 f; #X obj 147 438 +; #X obj 147 407 * 10; #X obj 89 96 t b f; #X msg 104 383 0; #X obj 168 380 pow; #X obj 168 358 swap 10; #X obj 104 360 r \$0-init; #X obj 141 123 sel 0; #X msg 141 151 1; #X obj 171 518 *; #X obj 223 326 +; #X obj 254 326 t f; #X msg 238 298 0; #X obj 234 411 * -1; #X obj 242 269 r \$0-init; #X obj 234 438 swap 10; #X obj 219 478 pow; #X connect 0 0 12 0; #X connect 2 0 4 1; #X connect 3 0 2 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 15 0; #X connect 6 0 20 0; #X connect 7 0 6 0; #X connect 8 0 3 0; #X connect 9 0 11 0; #X connect 10 0 9 1; #X connect 10 0 19 0; #X connect 11 0 10 0; #X connect 12 0 9 0; #X connect 12 1 17 0; #X connect 12 1 10 1; #X connect 13 0 9 1; #X connect 14 0 11 1; #X connect 15 0 14 0; #X connect 15 1 14 1; #X connect 16 0 13 0; #X connect 17 0 18 0; #X connect 17 1 5 0; #X connect 18 0 5 0; #X connect 19 0 1 0; #X connect 20 0 21 0; #X connect 20 0 23 0; #X connect 21 0 20 1; #X connect 22 0 20 1; #X connect 23 0 25 0; #X connect 24 0 22 0; #X connect 25 0 26 0; #X connect 25 1 26 1; #X connect 26 0 19 1; #X restore 154 186 pd \$0-fracs; #X msg 285 272 0; #X obj 285 249 r \$0-init; #X obj 242 331 *; #X msg 321 273 1; #X obj 307 314 r \$0-neg-mant; #X obj 35 52 inlet; #X obj 227 354 f; #X obj 242 219 t b f; #X msg 242 255 0; #X connect 0 0 1 0; #X connect 1 0 5 0; #X connect 1 1 2 0; #X connect 2 0 8 0; #X connect 3 0 2 1; #X connect 4 0 3 0; #X connect 5 0 2 1; #X connect 7 0 18 0; #X connect 8 0 10 0; #X connect 8 1 7 0; #X connect 9 0 13 0; #X connect 10 0 9 0; #X connect 11 0 9 1; #X connect 12 0 11 0; #X connect 12 0 14 0; #X connect 13 0 17 1; #X connect 14 0 13 1; #X connect 15 0 13 1; #X connect 16 0 17 0; #X connect 17 0 6 0; #X connect 18 0 19 0; #X connect 18 1 9 1; #X connect 19 0 9 0; #X restore 64 108 pd \$0-mant-calc; #X obj 64 52 t b a; #X connect 0 0 4 0; #X connect 2 0 3 1; #X connect 3 0 1 0; #X connect 4 0 3 0; #X connect 4 1 2 0; #X restore 49 202 pd \$0-mant; #X obj 282 158 list; #X obj 282 270 outlet; #X obj 282 68 r \$0-not-float; #X obj 141 364 outlet; #X obj 49 20 inlet; #N canvas 0 22 450 300 $-exp? 0; #X obj 116 49 inlet; #X obj 179 149 list-find; #X obj 133 277 outlet; #X obj 254 261 outlet; #X obj 116 149 list-find; #X msg 179 126 e; #X msg 116 126 E; #X obj 167 180 +; #X obj 167 203 moses 1; #X obj 116 71 t b b a; #X obj 254 237 list; #X obj 133 252 list; #X obj 223 220 b; #X obj 133 220 b; #X connect 0 0 9 0; #X connect 1 1 7 1; #X connect 4 1 7 0; #X connect 5 0 1 0; #X connect 6 0 4 0; #X connect 7 0 8 0; #X connect 8 0 13 0; #X connect 8 1 12 0; #X connect 9 0 6 0; #X connect 9 1 5 0; #X connect 9 2 1 1; #X connect 9 2 4 1; #X connect 9 2 10 1; #X connect 9 2 11 1; #X connect 10 0 3 0; #X connect 11 0 2 0; #X connect 12 0 10 0; #X connect 13 0 11 0; #X restore 49 137 pd $-exp?; #X obj 282 124 once; #X obj 303 99 r \$0-init; #X obj 202 292 r \$0-not-float; #X obj 141 338 spigot; #X msg 202 316 0; #X obj 126 310 f; #X obj 49 71 t b a b a; #X obj 49 44 route bang; #X connect 0 0 6 0; #X connect 0 1 2 0; #X connect 2 0 3 1; #X connect 3 0 18 1; #X connect 4 0 3 1; #X connect 4 0 16 1; #X connect 5 0 4 0; #X connect 6 0 3 0; #X connect 7 0 8 0; #X connect 9 0 13 0; #X connect 11 0 20 0; #X connect 12 0 6 0; #X connect 12 1 0 0; #X connect 13 0 7 0; #X connect 14 0 13 1; #X connect 15 0 17 0; #X connect 16 0 10 0; #X connect 17 0 16 1; #X connect 18 0 16 0; #X connect 19 0 18 0; #X connect 19 1 12 0; #X connect 19 2 1 0; #X connect 19 3 7 1; #X connect 20 1 19 0;
#N canvas 266 142 430 250 10; #X obj 100 24 inlet; #X obj 100 173 outlet; #X obj 100 47 route symbol; #N canvas 0 22 655 599 \$0-split 0; #X obj 82 411 sel s; #X obj 165 219 makefilename %%.%ds; #X msg 165 242 set \$1; #X obj 149 115 s \$0-mainsym; #X obj 109 383 r \$0-mainsym; #X obj 252 450 list prepend; #X obj 91 516 list; #X obj 356 450 t a; #X obj 70 140 until; #X obj 157 191 + 1; #X obj 71 250 symbol; #X obj 129 191 f 1; #X obj 82 223 r \$0-mainsym; #X obj 110 88 t b b s; #X msg 144 168 1; #X obj 165 267 makefilename; #X obj 71 164 t b b; #X msg 216 318 symbol; #X obj 165 310 t a a; #X obj 82 435 t b b; #X obj 109 460 s \$0-stop; #X obj 43 89 r \$0-stop; #X obj 321 421 r \$0-init; #X obj 216 294 r \$0-init; #X text 209 196 accumulate first n characters of symbol; #N canvas 580 22 514 754 \$0-find-next-char 0; #X obj 36 25 inlet; #X obj 109 716 outlet; #X obj 36 567 sel s; #X obj 36 189 until; #X obj 36 372 makefilename %c; #X msg 36 164 256; #X obj 36 220 f 0; #X obj 70 220 + 1; #X msg 88 189 0; #X obj 36 245 sel 123 125; #X obj 36 508 pack s s; #X obj 36 460 symbol; #X obj 36 406 t b s; #X obj 109 675 symbol; #X obj 36 50 t b a b; #X obj 55 80 unpack s s; #X obj 55 132 s \$0-test; #X obj 112 106 s \$0-current; #X obj 96 550 r \$0-test; #X obj 107 443 r \$0-current; #N canvas 0 22 450 300 %0-float? 0; #X obj 133 91 inlet; #X obj 133 202 outlet; #X obj 222 201 outlet; #X obj 178 141 moses 58; #X obj 133 118 moses 48; #X connect 0 0 4 0; #X connect 3 0 2 0; #X connect 3 1 1 0; #X connect 4 0 1 0; #X connect 4 1 3 0; #X restore 99 267 pd %0-float?; #X obj 108 639 spigot; #X obj 168 641 spigot; #X obj 199 682 float; #X msg 227 342 1; #X obj 231 543 r \$0-spigot; #X obj 227 370 s \$0-spigot; #X obj 181 580 == 0; #X obj 36 284 t f b; #X msg 80 301 0; #X obj 168 325 t f f b; #X obj 227 658 - 48; #X obj 80 323 s \$0-spigot; #X text 99 525 test for match; #X text 274 658 <- floats instead of symbols; #X text 81 417 previous match string plus test ascii value; #X text 132 178 <-- iterate through all ascii values \, but don't make finding a match a condition for stopping the loop - we could make this more efficient by not testing all values \, and by making a match be a condition for stopping the loop.; #X obj 36 536 list-l2s; #X connect 0 0 14 0; #X connect 2 0 21 0; #X connect 2 0 22 0; #X connect 3 0 6 0; #X connect 4 0 12 0; #X connect 5 0 3 0; #X connect 6 0 7 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 8 0 6 1; #X connect 9 2 20 0; #X connect 10 0 37 0; #X connect 11 0 10 0; #X connect 12 0 11 0; #X connect 12 1 10 1; #X connect 12 1 13 1; #X connect 13 0 1 0; #X connect 14 0 5 0; #X connect 14 1 15 0; #X connect 14 2 8 0; #X connect 15 0 16 0; #X connect 15 1 17 0; #X connect 18 0 2 1; #X connect 19 0 11 1; #X connect 20 0 28 0; #X connect 20 1 30 0; #X connect 21 0 13 0; #X connect 22 0 23 0; #X connect 23 0 1 0; #X connect 24 0 26 0; #X connect 25 0 22 1; #X connect 25 0 27 0; #X connect 27 0 21 1; #X connect 28 0 4 0; #X connect 28 1 29 0; #X connect 29 0 32 0; #X connect 30 0 4 0; #X connect 30 1 31 0; #X connect 30 2 24 0; #X connect 31 0 23 1; #X connect 37 0 2 0; #X restore 192 384 pd \$0-find-next-char; #X text 323 387 find next character; #X text 277 341 compare last two chunks to look for the next character \; init with a blank symbol; #X text 43 478 stop when we've found all characters; #X obj 192 344 list-lastx 2; #X obj 110 56 inlet; #X obj 192 544 outlet; #X connect 0 0 19 0; #X connect 1 0 2 0; #X connect 2 0 15 0; #X connect 4 0 0 1; #X connect 5 0 7 0; #X connect 7 0 5 1; #X connect 8 0 16 0; #X connect 9 0 11 1; #X connect 10 0 15 0; #X connect 11 0 9 0; #X connect 11 0 1 0; #X connect 12 0 10 1; #X connect 13 0 8 0; #X connect 13 1 14 0; #X connect 13 2 3 0; #X connect 14 0 11 1; #X connect 15 0 18 0; #X connect 16 0 10 0; #X connect 16 1 11 0; #X connect 17 0 29 0; #X connect 18 0 0 0; #X connect 18 1 29 0; #X connect 19 0 6 0; #X connect 19 1 20 0; #X connect 21 0 8 1; #X connect 22 0 5 1; #X connect 23 0 17 0; #X connect 25 0 5 0; #X connect 25 0 31 0; #X connect 29 0 25 0; #X connect 30 0 13 0; #X restore 119 118 pd \$0-split; #N canvas 433 101 787 656 \$0-delimit 0; #N canvas 680 67 629 496 \$0-argtest 0; #X obj 207 146 list append \$1; #X obj 154 102 select s; #X obj 154 52 t b b; #X obj 262 86 makefilename $%d-test; #X obj 154 79 symbol \$1-test; #X msg 262 66 1; #X obj 207 124 t b; #X text 237 126 this is \$1; #X obj 154 26 loadbang; #X obj 296 269 symbollength; #X obj 207 171 route float symbol; #X obj 207 202 makefilename %g; #X obj 259 241 symbol; #X obj 296 353 s \$0-delim-length; #X obj 259 378 s \$0-delim; #X obj 296 296 sel 0; #X msg 296 320 1; #X floatatom 363 312 5 0 0 0 - - -; #X obj 21 109 r \$0-delimiter-in; #X obj 154 286 s \$0-delimiter?; #X msg 154 222 0; #X msg 214 258 1; #X obj 69 136 loadbang; #X obj 21 175 sel s; #X msg 69 158 symbol; #X connect 0 0 10 0; #X connect 1 0 20 0; #X connect 1 1 6 0; #X connect 2 0 4 0; #X connect 2 1 5 0; #X connect 3 0 1 1; #X connect 4 0 1 0; #X connect 5 0 3 0; #X connect 6 0 0 0; #X connect 8 0 2 0; #X connect 9 0 15 0; #X connect 9 0 17 0; #X connect 10 0 11 0; #X connect 10 1 12 0; #X connect 11 0 12 0; #X connect 12 0 9 0; #X connect 12 0 14 0; #X connect 12 0 21 0; #X connect 15 0 16 0; #X connect 15 1 13 0; #X connect 16 0 13 0; #X connect 18 0 23 0; #X connect 20 0 19 0; #X connect 21 0 19 0; #X connect 22 0 24 0; #X connect 23 0 20 0; #X connect 23 1 10 0; #X connect 24 0 23 1; #X restore 403 63 pd \$0-argtest; #X obj 172 63 inlet; #X obj 172 207 list-lastx; #X obj 229 185 r \$0-delim-length; #X obj 60 63 inlet; #X obj 185 614 outlet; #X obj 199 294 r \$0-delim; #X obj 172 317 sel s; #X obj 172 237 list-rev; #X obj 172 265 list-l2s; #X obj 354 572 list-extend; #X obj 417 548 r \$0-init; #X obj 185 588 list; #X obj 411 383 r \$0-delim-length; #X obj 411 408 * -1; #X obj 354 548 list-l2s; #X obj 172 181 t a a; #X obj 326 385 list-extend; #X obj 354 435 list; #X obj 70 150 t b b; #X obj 389 350 r \$0-init; #X obj 215 338 t b b; #X obj 291 477 list; #X obj 193 455 spigot; #X msg 210 423 0; #X msg 255 435 1; #X obj 255 414 t b; #X obj 354 460 list-splat; #X obj 309 520 list-l2f; #X obj 249 555 r \$0-bypass; #X obj 263 131 spigot; #X obj 296 107 == 0; #X obj 263 157 s \$0-bypass; #X obj 296 62 r \$0-delimiter?; #X obj 172 151 spigot; #X connect 1 0 30 0; #X connect 1 0 34 0; #X connect 2 0 8 0; #X connect 3 0 2 1; #X connect 4 0 19 0; #X connect 6 0 7 1; #X connect 7 0 21 0; #X connect 8 0 9 0; #X connect 9 0 7 0; #X connect 10 0 12 1; #X connect 11 0 10 1; #X connect 12 0 5 0; #X connect 13 0 14 0; #X connect 14 0 27 1; #X connect 15 0 10 0; #X connect 16 0 2 0; #X connect 16 1 17 0; #X connect 17 0 18 1; #X connect 17 0 22 1; #X connect 17 0 26 0; #X connect 18 0 27 0; #X connect 19 0 12 0; #X connect 19 1 23 0; #X connect 20 0 17 1; #X connect 21 0 18 0; #X connect 21 1 17 1; #X connect 21 1 24 0; #X connect 22 0 28 0; #X connect 23 0 22 0; #X connect 24 0 23 1; #X connect 25 0 23 1; #X connect 26 0 25 0; #X connect 27 0 28 0; #X connect 28 0 10 0; #X connect 28 1 15 0; #X connect 29 0 10 0; #X connect 30 0 32 0; #X connect 31 0 30 1; #X connect 33 0 34 1; #X connect 33 0 31 0; #X connect 34 0 16 0; #X restore 100 149 pd \$0-delimit; #X obj 100 69 t b s b; #X obj 139 94 s \$0-init; #X obj 261 28 inlet; #X obj 261 54 s \$0-delimiter-in; #X connect 0 0 2 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 5 1 3 0; #X connect 5 2 6 0; #X connect 7 0 8 0;
#N canvas 326 22 1071 347 10; #X obj 62 188 print; #X obj 349 215 print; #X msg 349 71 symbol 1234567890abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx...@#$&*()_+~`./?><[]| ; #X obj 422 172 unpack 0 0 0 0 0 0 0 0 0 0 s s; #X floatatom 422 234 5 0 0 0 - - -; #X floatatom 438 210 5 0 0 0 - - -; #X symbolatom 582 237 10 0 0 0 - - -; #X symbolatom 599 211 10 0 0 0 - - -; #X msg 78 89 symbol VanillaRulzw007; #X text 463 153 floats and symbols should come out right; #X text 52 269 neither this nor [list-l2s] handles % appropriately ; #X obj 62 143 list-s2l -; #X text 61 31 Now with delimiters; #X msg 62 63 symbol 21-split-the-atoms; #X msg 82 119 symbol -1.2830e+27-teddy-roosevelt; #X obj 349 155 list-s2l; #X obj 813 150 list-s2l Pd; #X msg 876 125 symbol is; #X msg 813 77 symbol PdisgreatPdisgreatPdisgreat; #X obj 813 178 print; #X connect 2 0 15 0; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 3 10 6 0; #X connect 3 11 7 0; #X connect 8 0 11 0; #X connect 11 0 0 0; #X connect 13 0 11 0; #X connect 14 0 11 0; #X connect 15 0 1 0; #X connect 15 0 3 0; #X connect 16 0 19 0; #X connect 17 0 16 1; #X connect 18 0 16 0;
_______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list