home *** CD-ROM | disk | FTP | other *** search
/ Internet File Formats / InternetFileFormatsCD.bin / text / latex / mac / alpha.6.0.sit / Tcl / UserCode / stringListSnips.tcl < prev    next >
MacBinary  |  1995-03-07  |  2.8 KB  |  [TEXT/ALFA]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Tue Mar 7 22:26:18 1995, modified Tue Mar 7 22:26:18 1995, creator Alpha editor, type ASCII, 2253 bytes "stringListSnips.tcl" , at 0x94d 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[ALFA]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 13 73 74 72 69 6e 67 | 4c 69 73 74 53 6e 69 70 |..string|ListSnip|
|00000010| 73 2e 74 63 6c 00 00 00 | 00 00 00 00 00 00 00 00 |s.tcl...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 00 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 08 cd 00 | 00 01 7e ab 82 d4 5a ab |........|..~...Z.|
|00000060| 82 d4 5a 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..Z.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 ee 24 00 00 |........|.....$..|
|00000080| 23 20 42 6f 62 20 41 6c | 6b 69 72 65 0d 23 20 49 |# Bob Al|kire.# I|
|00000090| 6e 74 65 72 76 61 6c 20 | 52 65 73 65 61 72 63 68 |nterval |Research|
|000000a0| 20 43 6f 72 70 2e 0d 23 | 20 4f 74 68 65 72 20 75 | Corp..#| Other u|
|000000b0| 73 65 66 75 6c 20 63 6f | 64 65 20 73 6e 69 70 70 |seful co|de snipp|
|000000c0| 65 74 73 0d 23 20 73 75 | 62 73 74 69 74 75 74 65 |ets.# su|bstitute|
|000000d0| 20 73 74 72 69 6e 67 0d | 23 20 69 6e 20 70 6c 61 | string.|# in pla|
|000000e0| 63 65 20 72 65 70 6c 61 | 63 65 73 20 74 68 65 20 |ce repla|ces the |
|000000f0| 63 68 61 72 61 63 74 65 | 72 73 20 69 6e 20 73 74 |characte|rs in st|
|00000100| 72 20 66 72 6f 6d 20 70 | 6f 73 69 74 69 6f 6e 20 |r from p|osition |
|00000110| 22 66 72 6f 6d 22 20 74 | 6f 20 70 6f 73 69 74 69 |"from" t|o positi|
|00000120| 6f 6e 0d 23 20 22 74 6f | 22 20 77 69 74 68 20 22 |on.# "to|" with "|
|00000130| 72 65 70 22 0d 0d 70 72 | 6f 63 20 73 75 62 73 74 |rep"..pr|oc subst|
|00000140| 69 74 75 74 65 53 74 72 | 69 6e 67 20 7b 73 74 72 |ituteStr|ing {str|
|00000150| 20 66 72 6f 6d 20 74 6f | 20 72 65 70 7d 20 7b 0d | from to| rep} {.|
|00000160| 20 20 20 20 20 20 20 20 | 75 70 76 61 72 20 24 73 | |upvar $s|
|00000170| 74 72 20 6c 73 74 72 0d | 20 20 20 20 20 20 20 20 |tr lstr.| |
|00000180| 73 65 74 20 73 20 5b 73 | 74 72 69 6e 67 20 72 61 |set s [s|tring ra|
|00000190| 6e 67 65 20 24 6c 73 74 | 72 20 30 20 5b 65 78 70 |nge $lst|r 0 [exp|
|000001a0| 72 20 24 66 72 6f 6d 20 | 2d 20 31 5d 5d 0d 20 20 |r $from |- 1]]. |
|000001b0| 20 20 20 20 20 20 61 70 | 70 65 6e 64 20 73 20 24 | ap|pend s $|
|000001c0| 72 65 70 0d 20 20 20 20 | 20 20 20 20 61 70 70 65 |rep. | appe|
|000001d0| 6e 64 20 73 20 5b 73 74 | 72 69 6e 67 20 72 61 6e |nd s [st|ring ran|
|000001e0| 67 65 20 24 6c 73 74 72 | 20 5b 65 78 70 72 20 24 |ge $lstr| [expr $|
|000001f0| 74 6f 20 2b 20 31 5d 20 | 65 6e 64 5d 0d 20 20 20 |to + 1] |end]. |
|00000200| 20 20 20 20 20 73 65 74 | 20 6c 73 74 72 20 24 73 | set| lstr $s|
|00000210| 0d 20 20 20 20 20 20 20 | 20 7d 0d 23 20 73 74 72 |. | }.# str|
|00000220| 69 6e 67 54 61 69 6c 0d | 23 20 72 65 74 75 72 6e |ingTail.|# return|
|00000230| 20 6e 20 63 68 61 72 61 | 63 74 65 72 73 20 66 72 | n chara|cters fr|
|00000240| 6f 6d 20 74 68 65 20 65 | 6e 64 20 6f 66 20 73 74 |om the e|nd of st|
|00000250| 72 69 6e 67 20 74 6f 20 | 74 68 65 20 65 6e 64 20 |ring to |the end |
|00000260| 6f 66 20 74 68 65 20 73 | 74 72 69 6e 67 0d 0d 70 |of the s|tring..p|
|00000270| 72 6f 63 20 73 74 72 69 | 6e 67 54 61 69 6c 20 7b |roc stri|ngTail {|
|00000280| 6e 20 73 74 72 7d 20 7b | 0d 20 20 20 20 20 20 20 |n str} {|. |
|00000290| 20 73 65 74 20 6c 65 6e | 20 5b 73 74 72 69 6e 67 | set len| [string|
|000002a0| 20 6c 65 6e 67 74 68 20 | 24 73 74 72 5d 0d 20 20 | length |$str]. |
|000002b0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 5b 73 74 | re|turn [st|
|000002c0| 72 69 6e 67 20 72 61 6e | 67 65 20 24 73 74 72 20 |ring ran|ge $str |
|000002d0| 5b 65 78 70 72 20 24 6c | 65 6e 20 2d 20 24 6e 5d |[expr $l|en - $n]|
|000002e0| 20 65 6e 64 5d 0d 20 20 | 20 20 20 20 20 20 7d 0d | end]. | }.|
|000002f0| 23 20 65 78 74 72 61 63 | 74 4c 69 73 74 0d 23 20 |# extrac|tList.# |
|00000300| 72 65 74 75 72 6e 20 74 | 68 65 20 70 6f 73 27 74 |return t|he pos't|
|00000310| 68 20 69 74 65 6d 20 66 | 72 6f 6d 20 74 68 65 4c |h item f|rom theL|
|00000320| 69 73 74 20 77 68 69 6c | 65 20 72 65 6d 6f 76 69 |ist whil|e removi|
|00000330| 6e 67 20 74 68 65 20 69 | 74 65 6d 20 66 72 6f 6d |ng the i|tem from|
|00000340| 20 74 68 65 4c 69 73 74 | 0d 70 72 6f 63 20 65 78 | theList|.proc ex|
|00000350| 74 72 61 63 74 4c 69 73 | 74 20 7b 74 68 65 4c 69 |tractLis|t {theLi|
|00000360| 73 74 20 70 6f 73 7d 20 | 7b 0d 20 20 20 20 20 20 |st pos} |{. |
|00000370| 20 20 75 70 76 61 72 20 | 24 74 68 65 4c 69 73 74 | upvar |$theList|
|00000380| 20 6c 73 74 0d 20 20 20 | 20 20 20 20 20 69 66 20 | lst. | if |
|00000390| 7b 24 70 6f 73 20 3c 20 | 30 7d 20 7b 72 65 74 75 |{$pos < |0} {retu|
|000003a0| 72 6e 20 22 22 7d 0d 20 | 20 20 20 20 20 20 20 73 |rn ""}. | s|
|000003b0| 65 74 20 65 78 74 72 61 | 63 74 65 64 20 5b 6c 69 |et extra|cted [li|
|000003c0| 6e 64 65 78 20 24 6c 73 | 74 20 24 70 6f 73 5d 0d |ndex $ls|t $pos].|
|000003d0| 20 20 20 20 20 20 20 20 | 73 65 74 20 6c 61 73 74 | |set last|
|000003e0| 20 5b 65 78 70 72 20 5b | 6c 6c 65 6e 67 74 68 20 | [expr [|llength |
|000003f0| 24 6c 73 74 5d 20 2d 20 | 31 5d 0d 20 20 20 20 20 |$lst] - |1]. |
|00000400| 20 20 20 69 66 20 7b 24 | 70 6f 73 20 3d 3d 20 30 | if {$|pos == 0|
|00000410| 7d 20 74 68 65 6e 20 7b | 0d 20 20 20 20 20 20 20 |} then {|. |
|00000420| 20 20 20 20 20 20 20 20 | 20 73 65 74 20 6c 73 74 | | set lst|
|00000430| 20 5b 6c 72 61 6e 67 65 | 20 24 6c 73 74 20 31 20 | [lrange| $lst 1 |
|00000440| 65 6e 64 5d 0d 20 20 20 | 20 20 20 20 20 20 20 20 |end]. | |
|00000450| 20 20 20 20 20 7d 20 65 | 6c 73 65 69 66 20 7b 24 | } e|lseif {$|
|00000460| 70 6f 73 20 3d 3d 20 24 | 6c 61 73 74 7d 20 74 68 |pos == $|last} th|
|00000470| 65 6e 20 7b 0d 20 20 20 | 20 20 20 20 20 20 20 20 |en {. | |
|00000480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 73 65 74 | | set|
|00000490| 20 6c 73 74 20 5b 6c 72 | 61 6e 67 65 20 24 6c 73 | lst [lr|ange $ls|
|000004a0| 74 20 30 20 5b 65 78 70 | 72 20 24 6c 61 73 74 20 |t 0 [exp|r $last |
|000004b0| 2d 20 31 5d 5d 0d 20 20 | 20 20 20 20 20 20 20 20 |- 1]]. | |
|000004c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 20 | | } |
|000004d0| 65 6c 73 65 20 7b 0d 20 | 20 20 20 20 20 20 20 20 |else {. | |
|000004e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004f0| 20 20 20 20 20 20 20 73 | 65 74 20 6c 73 74 20 5b | s|et lst [|
|00000500| 63 6f 6e 63 61 74 20 5b | 6c 72 61 6e 67 65 20 24 |concat [|lrange $|
|00000510| 6c 73 74 20 30 20 5b 65 | 78 70 72 20 24 70 6f 73 |lst 0 [e|xpr $pos|
|00000520| 20 2d 0d 31 5d 5d 20 5b | 6c 72 61 6e 67 65 20 24 | -.1]] [|lrange $|
|00000530| 6c 73 74 20 5b 65 78 70 | 72 20 24 70 6f 73 20 2b |lst [exp|r $pos +|
|00000540| 20 31 5d 20 65 6e 64 5d | 5d 0d 20 20 20 20 20 20 | 1] end]|]. |
|00000550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000560| 20 20 20 20 20 20 20 20 | 20 20 7d 0d 20 20 20 20 | | }. |
|00000570| 20 20 20 20 72 65 74 75 | 72 6e 20 24 65 78 74 72 | retu|rn $extr|
|00000580| 61 63 74 65 64 0d 7d 0d | 23 20 75 6e 69 71 75 65 |acted.}.|# unique|
|00000590| 4c 69 73 74 0d 23 20 72 | 65 74 75 72 6e 20 61 20 |List.# r|eturn a |
|000005a0| 6e 65 77 20 6c 69 73 74 | 20 77 69 74 68 20 61 6c |new list| with al|
|000005b0| 6c 20 64 75 70 6c 69 63 | 61 74 65 20 69 74 65 6d |l duplic|ate item|
|000005c0| 73 20 72 65 6d 6f 76 65 | 64 20 66 72 6f 6d 20 74 |s remove|d from t|
|000005d0| 68 65 4c 69 73 74 0d 70 | 72 6f 63 20 75 6e 69 71 |heList.p|roc uniq|
|000005e0| 75 65 4c 69 73 74 20 7b | 74 68 65 4c 69 73 74 7d |ueList {|theList}|
|000005f0| 20 7b 0d 20 20 20 20 20 | 20 20 20 73 65 74 20 6c | {. | set l|
|00000600| 61 73 74 20 7b 7d 0d 20 | 20 20 20 20 20 20 20 73 |ast {}. | s|
|00000610| 65 74 20 6e 65 77 4c 69 | 73 74 20 7b 7d 0d 20 20 |et newLi|st {}. |
|00000620| 20 20 20 20 20 20 66 6f | 72 65 61 63 68 20 69 74 | fo|reach it|
|00000630| 65 6d 20 5b 6c 73 6f 72 | 74 20 24 74 68 65 4c 69 |em [lsor|t $theLi|
|00000640| 73 74 5d 20 7b 0d 20 20 | 20 20 20 20 20 20 20 20 |st] {. | |
|00000650| 20 20 20 20 20 20 69 66 | 20 7b 24 6c 61 73 74 20 | if| {$last |
|00000660| 21 3d 20 24 69 74 65 6d | 7d 20 7b 73 65 74 20 6c |!= $item|} {set l|
|00000670| 61 73 74 20 24 69 74 65 | 6d 3b 20 6c 61 70 70 65 |ast $ite|m; lappe|
|00000680| 6e 64 20 6e 65 77 4c 69 | 73 74 20 24 6c 61 73 74 |nd newLi|st $last|
|00000690| 7d 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |}. | |
|000006a0| 20 20 7d 0d 20 20 20 20 | 20 20 20 20 72 65 74 75 | }. | retu|
|000006b0| 72 6e 20 24 6e 65 77 4c | 69 73 74 0d 20 7d 0d 0d |rn $newL|ist. }..|
|000006c0| 23 20 64 69 66 66 4c 69 | 73 74 0d 23 20 72 65 74 |# diffLi|st.# ret|
|000006d0| 75 72 6e 20 61 20 6e 65 | 77 20 6c 69 73 74 20 74 |urn a ne|w list t|
|000006e0| 68 61 74 20 69 73 20 74 | 68 65 20 73 65 74 20 6f |hat is t|he set o|
|000006f0| 66 20 69 74 65 6d 73 20 | 6e 6f 74 20 69 6e 20 6c |f items |not in l|
|00000700| 69 73 74 31 20 61 6e 64 | 20 6c 69 73 74 32 0d 0d |ist1 and| list2..|
|00000710| 70 72 6f 63 20 64 69 66 | 66 4c 69 73 74 20 7b 6c |proc dif|fList {l|
|00000720| 69 73 74 31 20 6c 69 73 | 74 32 7d 20 7b 0d 20 20 |ist1 lis|t2} {. |
|00000730| 20 20 20 20 20 20 73 65 | 74 20 64 69 66 66 20 7b | se|t diff {|
|00000740| 7d 0d 20 20 20 20 20 20 | 20 20 66 6f 72 65 61 63 |}. | foreac|
|00000750| 68 20 69 74 65 6d 20 24 | 6c 69 73 74 31 20 7b 0d |h item $|list1 {.|
|00000760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000770| 69 66 20 7b 5b 6c 73 65 | 61 72 63 68 20 24 6c 69 |if {[lse|arch $li|
|00000780| 73 74 32 20 24 69 74 65 | 6d 5d 20 3d 3d 20 2d 31 |st2 $ite|m] == -1|
|00000790| 7d 20 7b 6c 61 70 70 65 | 6e 64 20 64 69 66 66 20 |} {lappe|nd diff |
|000007a0| 24 69 74 65 6d 7d 0d 20 | 20 20 20 20 20 20 20 20 |$item}. | |
|000007b0| 20 20 20 20 20 20 20 7d | 0d 20 20 20 20 20 20 20 | }|. |
|000007c0| 20 72 65 74 75 72 6e 20 | 24 64 69 66 66 0d 7d 0d | return |$diff.}.|
|000007d0| 0d 23 20 73 6c 69 63 65 | 4c 69 73 74 0d 23 20 74 |.# slice|List.# t|
|000007e0| 68 65 4c 69 73 74 20 6d | 75 73 74 20 62 65 20 61 |heList m|ust be a|
|000007f0| 20 6c 69 73 74 20 6f 66 | 20 6c 69 73 74 73 0d 23 | list of| lists.#|
|00000800| 20 72 65 74 75 72 6e 73 | 20 61 20 6e 65 77 20 6c | returns| a new l|
|00000810| 69 73 74 20 74 68 61 74 | 20 69 73 20 6d 61 64 65 |ist that| is made|
|00000820| 20 75 70 20 6f 66 20 61 | 20 6c 69 73 74 20 6f 66 | up of a| list of|
|00000830| 20 74 68 65 20 70 6f 73 | 27 74 68 20 69 74 65 6d | the pos|'th item|
|00000840| 20 69 6e 20 65 61 63 68 | 0d 6c 69 73 74 20 6f 66 | in each|.list of|
|00000850| 20 74 68 65 4c 69 73 74 | 0d 23 20 65 78 61 6d 70 | theList|.# examp|
|00000860| 6c 65 20 73 6c 69 63 65 | 4c 69 73 74 20 7b 7b 61 |le slice|List {{a|
|00000870| 20 62 20 63 7d 20 7b 64 | 20 65 20 66 7d 20 7b 78 | b c} {d| e f} {x|
|00000880| 20 79 20 7a 7d 7d 20 31 | 20 72 65 74 75 72 6e 73 | y z}} 1| returns|
|00000890| 20 62 20 65 20 79 0d 70 | 72 6f 63 20 73 6c 69 63 | b e y.p|roc slic|
|000008a0| 65 4c 69 73 74 20 7b 74 | 68 65 4c 69 73 74 20 70 |eList {t|heList p|
|000008b0| 6f 73 7d 20 7b 0d 20 20 | 20 20 20 20 20 20 73 65 |os} {. | se|
|000008c0| 74 20 6e 65 77 4c 69 73 | 74 20 7b 7d 0d 20 20 20 |t newLis|t {}. |
|000008d0| 20 20 20 20 20 66 6f 72 | 65 61 63 68 20 69 74 65 | for|each ite|
|000008e0| 6d 20 24 74 68 65 4c 69 | 73 74 20 7b 0d 20 20 20 |m $theLi|st {. |
|000008f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6c 61 70 | | lap|
|00000900| 70 65 6e 64 20 6e 65 77 | 4c 69 73 74 20 5b 6c 69 |pend new|List [li|
|00000910| 6e 64 65 78 20 24 69 74 | 65 6d 20 24 70 6f 73 5d |ndex $it|em $pos]|
|00000920| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000930| 20 7d 0d 20 20 20 20 20 | 20 20 20 72 65 74 75 72 | }. | retur|
|00000940| 6e 20 24 6e 65 77 4c 69 | 73 74 0d 7d 0d 00 00 00 |n $newLi|st.}....|
|00000950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000980| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00000990| 45 3a 48 65 6c 70 3a 41 | 6c 70 68 61 20 43 6f 6d |E:Help:A|lpha Com|
|000009a0| 6d 61 6e 64 73 2f 32 38 | 37 37 38 22 0d 73 65 74 |mands/28|778".set|
|000009b0| 13 73 74 72 69 6e 67 4c | 69 73 74 53 6e 69 70 73 |.stringL|istSnips|
|000009c0| 2e 74 63 6c 02 00 00 00 | 50 61 72 74 53 49 54 21 |.tcl....|PartSIT!|
|000009d0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|000009e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 ab 97 aa ef 00 00 | 00 00 00 00 01 7e 20 22 |........|.....~ "|
|00000a00| 24 48 4f 4d 45 3a 48 65 | 6c 70 3a 41 6c 70 68 61 |$HOME:He|lp:Alpha|
|00000a10| 20 43 6f 6d 6d 61 6e 64 | 73 2f 32 39 30 38 35 22 | Command|s/29085"|
|00000a20| 0d 73 65 74 20 61 75 74 | 6f 5f 68 65 6c 70 28 75 |.set aut|o_help(u|
|00000a30| 6e 62 69 6e 64 29 20 22 | 24 48 4f 4d 45 3a 48 65 |nbind) "|$HOME:He|
|00000a40| 6c 70 3a 41 6c 70 68 61 | 20 43 6f 6d 6d 61 6e 64 |lp:Alpha| Command|
|00000a50| 73 2f 32 39 31 31 31 22 | 0d 73 65 74 20 61 75 74 |s/29111"|.set aut|
|00000a60| 6f 5f 68 65 6c 70 28 75 | 6e 64 6f 29 20 22 24 48 |o_help(u|ndo) "$H|
|00000a70| 4f 4d 45 3a 48 65 6c 70 | 3a 41 6c 70 68 61 20 43 |OME:Help|:Alpha C|
|00000a80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 69 00 00 |...H..Mo|naco.i..|
|00000a90| 01 4c 84 04 ff ff ff ff | 00 92 08 50 00 62 83 d0 |.L......|...P.b..|
|00000aa0| 40 a0 be 98 ff fc 00 04 | 00 04 00 28 00 02 02 5c |@.......|...(...\|
|00000ab0| 02 00 00 28 00 02 02 5c | 02 00 ab 82 9c 1a 00 00 |...(...\|........|
|00000ac0| 00 00 00 00 00 00 00 00 | 00 00 01 00 00 00 01 00 |........|........|
|00000ad0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 61 d8 88 |...L...L|...2.a..|
|00000ae0| 10 2a 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.*.....2|..MPSR..|
|00000af0| 00 0a 03 ed ff ff 00 00 | 00 00 00 69 01 40 00 00 |........|...i.@..|
+--------+-------------------------+-------------------------+--------+--------+