image: rename some words
s:contains-char? to s:contains/char? s:contains-string? to s:contains/string? a:contains-string? to a:contains/string? old names are now deprecated and will be removed after 2021.7. FossilOrigin-Name: 5a19d7aac514c5ba87963c5f0645f3daa8a8e3dc04546c0627fa046479ecd8dd
This commit is contained in:
parent
ae55f1cd45
commit
06ee9705a8
24 changed files with 134 additions and 53 deletions
|
@ -25,11 +25,17 @@
|
|||
|
||||
- `s:split/string` replaces `s:split-on-string`
|
||||
- `s:split/char` replaces `s:split`
|
||||
- `s:contains/char?` replaces `s:contains-char?`
|
||||
- `s:contains/string?` replaces `s:contains-string?`
|
||||
- `a:contains/string?` replaces `a:contains-string?`
|
||||
|
||||
## Deprecated
|
||||
|
||||
- `s:split-on-string`
|
||||
- `s:split`
|
||||
- `s:contains-char?`
|
||||
- `s:contains-string?`
|
||||
- `a:contains-string?`
|
||||
|
||||
## Hooks
|
||||
|
||||
|
|
|
@ -233,6 +233,9 @@ a:chop D: a-a A: - F: -
|
|||
Return a new array containing all but the last value in the source array.
|
||||
|
||||
a:contains-string? D: sa-f A: - F: -
|
||||
Deprecated. Use `a:contains/string?` instead. Return `TRUE` if the string value is in the array or `FALSE` otherwise.
|
||||
|
||||
a:contains/string? D: sa-f A: - F: -
|
||||
Return `TRUE` if the string value is in the array or `FALSE` otherwise.
|
||||
|
||||
a:contains? D: na-f A: - F: -
|
||||
|
@ -1157,9 +1160,15 @@ s:const D: ss- A: - F: -
|
|||
Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string.
|
||||
|
||||
s:contains-char? D: sc-f A: - F: -
|
||||
Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
Deprecated. Use `s:contains/char?` instead. Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
|
||||
s:contains-string? D: ss-f A: - F: -
|
||||
Deprecated. Use `s:contains/string?` instead. Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.
|
||||
|
||||
s:contains/char? D: sc-f A: - F: -
|
||||
Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
|
||||
s:contains/string? D: ss-f A: - F: -
|
||||
Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.
|
||||
|
||||
s:copy D: sa- A: - F: -
|
||||
|
|
|
@ -77,6 +77,7 @@ a:append D: aa-a A: - F: -
|
|||
a:begins-with? D: aa-f A: - F: -
|
||||
a:chop D: a-a A: - F: -
|
||||
a:contains-string? D: sa-f A: - F: -
|
||||
a:contains/string? D: sa-f A: - F: -
|
||||
a:contains? D: na-f A: - F: -
|
||||
a:copy D: aa- A: - F: -
|
||||
a:counted-results D: q-a A: - F: -
|
||||
|
@ -386,6 +387,8 @@ s:chop D: s-s A: - F: -
|
|||
s:const D: ss- A: - F: -
|
||||
s:contains-char? D: sc-f A: - F: -
|
||||
s:contains-string? D: ss-f A: - F: -
|
||||
s:contains/char? D: sc-f A: - F: -
|
||||
s:contains/string? D: ss-f A: - F: -
|
||||
s:copy D: sa- A: - F: -
|
||||
s:empty D: -s A: - F: -
|
||||
s:ends-with? D: ss-f A: - F: -
|
||||
|
|
|
@ -576,6 +576,13 @@
|
|||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Deprecated. Use `a:contains/string?` instead. Return `TRUE` if the string value is in the array or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>a</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>a:contains/string?</h2>
|
||||
<div style='margin-left: 1em;'><p><b>Data:</b> sa-f<br>
|
||||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Return `TRUE` if the string value is in the array or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>a</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>a:contains?</h2>
|
||||
|
@ -2912,13 +2919,27 @@
|
|||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Return `TRUE` if the character is present in the string or `FALSE` otherwise.</p>
|
||||
<p>Deprecated. Use `s:contains/char?` instead. Return `TRUE` if the character is present in the string or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>s</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>s:contains-string?</h2>
|
||||
<div style='margin-left: 1em;'><p><b>Data:</b> ss-f<br>
|
||||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Deprecated. Use `s:contains/string?` instead. Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>s</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>s:contains/char?</h2>
|
||||
<div style='margin-left: 1em;'><p><b>Data:</b> sc-f<br>
|
||||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Return `TRUE` if the character is present in the string or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>s</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>s:contains/string?</h2>
|
||||
<div style='margin-left: 1em;'><p><b>Data:</b> ss-f<br>
|
||||
<b>Addr:</b> -<br>
|
||||
<b>Float:</b> -</p>
|
||||
</div>
|
||||
<p>Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.</p>
|
||||
<table><tr><td><b>Class:</b> </td><td>class:word</td></tr><tr><td><b>Namespace:</b> </td><td>s</td></tr><tr><td><b>Interface Layer:</b> </td><td>all</td></tr></table><hr/>
|
||||
<h2>s:copy</h2>
|
||||
|
|
|
@ -895,6 +895,17 @@ a:contains-string?
|
|||
Addr: -
|
||||
Float: -
|
||||
|
||||
Deprecated. Use `a:contains/string?` instead. Return `TRUE` if the string value is in the array or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: a | Interface Layer: all
|
||||
------------------------------------------------------------------------
|
||||
|
||||
a:contains/string?
|
||||
|
||||
Data: sa-f
|
||||
Addr: -
|
||||
Float: -
|
||||
|
||||
Return `TRUE` if the string value is in the array or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: a | Interface Layer: all
|
||||
|
@ -4498,7 +4509,7 @@ s:contains-char?
|
|||
Addr: -
|
||||
Float: -
|
||||
|
||||
Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
Deprecated. Use `s:contains/char?` instead. Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: s | Interface Layer: all
|
||||
------------------------------------------------------------------------
|
||||
|
@ -4509,6 +4520,28 @@ s:contains-string?
|
|||
Addr: -
|
||||
Float: -
|
||||
|
||||
Deprecated. Use `s:contains/string?` instead. Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: s | Interface Layer: all
|
||||
------------------------------------------------------------------------
|
||||
|
||||
s:contains/char?
|
||||
|
||||
Data: sc-f
|
||||
Addr: -
|
||||
Float: -
|
||||
|
||||
Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: s | Interface Layer: all
|
||||
------------------------------------------------------------------------
|
||||
|
||||
s:contains/string?
|
||||
|
||||
Data: ss-f
|
||||
Addr: -
|
||||
Float: -
|
||||
|
||||
Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.
|
||||
|
||||
Class: class:word | Namespace: s | Interface Layer: all
|
||||
|
|
|
@ -76,7 +76,8 @@ a:-eq? aa-f - - Compare all values in the array. Return `FALSE` if all values ar
|
|||
a:append aa-a - - Return a new array consisting of the values in a1 followed by the values in a2. class:word {n/a} {n/a} a all
|
||||
a:begins-with? aa-f - - Return `TRUE` if a1 begins with a2 or `FALSE` otherwise. class:word {n/a} {n/a} a all
|
||||
a:chop a-a - - Return a new array containing all but the last value in the source array. class:word {n/a} {n/a} a all
|
||||
a:contains-string? sa-f - - Return `TRUE` if the string value is in the array or `FALSE` otherwise. class:word {n/a} {n/a} a all
|
||||
a:contains-string? sa-f - - Deprecated. Use `a:contains/string?` instead. Return `TRUE` if the string value is in the array or `FALSE` otherwise. class:word {n/a} {n/a} a all
|
||||
a:contains/string? sa-f - - Return `TRUE` if the string value is in the array or `FALSE` otherwise. class:word {n/a} {n/a} a all
|
||||
a:contains? na-f - - Return `TRUE` if the value is in the array or `FALSE` otherwise. class:word {n/a} {n/a} a all
|
||||
a:copy aa- - - Copy an array (a1) to a destination (a2). class:word {n/a} {n/a} a all
|
||||
a:counted-results q-a - - Run a quote and construct a new array from the returned values. The quote should return the values and the number of values to put into the array. class:word {n/a} {n/a} a all
|
||||
|
@ -384,8 +385,10 @@ s:begins-with? ss-f - - Return `TRUE` if s1 begins with s2 or `FALSE` otherwise.
|
|||
s:case sSq- || sSq-s - - If the `s` matches `S`, discard `s` and run the quote before exiting the caller. If they do not match, discard the quote and leave `s` on the stack. class:word {n/a} {n/a} s all
|
||||
s:chop s-s - - Remove the last character from a string. Returns a new string. class:word {n/a} {n/a} s all
|
||||
s:const ss- - - Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string. class:word {n/a} {n/a} s all
|
||||
s:contains-char? sc-f - - Return `TRUE` if the character is present in the string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:contains-string? ss-f - - Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:contains-char? sc-f - - Deprecated. Use `s:contains/char?` instead. Return `TRUE` if the character is present in the string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:contains-string? ss-f - - Deprecated. Use `s:contains/string?` instead. Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:contains/char? sc-f - - Return `TRUE` if the character is present in the string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:contains/string? ss-f - - Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
s:copy sa- - - Copy a string (s) to a destination (a). This will include the terminator character when copying. class:word {n/a} {n/a} s all
|
||||
s:empty -s - - Return an empty string. class:word {n/a} {n/a} s all
|
||||
s:ends-with? ss-f - - Return `TRUE` if s1 ends with s2 or `FALSE` otherwise. class:word {n/a} {n/a} s all
|
||||
|
|
|
|
@ -148,7 +148,7 @@ that provide a hint to the user about the content being linked.
|
|||
@Line [ '<tt> s:put s:put '</tt> s:put ] a:for-each nl ;
|
||||
|
||||
:line
|
||||
dup ASCII:HT s:contains-char?
|
||||
dup ASCII:HT s:contains/char?
|
||||
[ fields a:length #3 gteq? [ [ menu-entry ]
|
||||
[ plain-text ] choose ] if;
|
||||
[ s:putm ] tt ;
|
||||
|
@ -164,7 +164,7 @@ that provide a hint to the user about the content being linked.
|
|||
[ s:trim line ] a:for-each ;
|
||||
|
||||
:process
|
||||
&Buffer ASCII:HT s:contains-char? [ process:line ] if;
|
||||
&Buffer ASCII:HT s:contains/char? [ process:line ] if;
|
||||
'<xmp> s:put &Buffer s:put '</xmp> s:put ;
|
||||
|
||||
:eol ASCII:CR c:put ASCII:LF c:put ;
|
||||
|
|
|
@ -82,7 +82,7 @@ the requested file from any query string that may be present.
|
|||
[ '/ &Requested s:append s:keep &Requested s:copy ] if ;
|
||||
|
||||
:check-for-params (-)
|
||||
&Requested $? s:contains-char?
|
||||
&Requested $? s:contains/char?
|
||||
[ &Requested $? s:split/char drop dup n:inc !GET-Query #0 swap store ] if ;
|
||||
|
||||
:filename (-s)
|
||||
|
|
|
@ -106,15 +106,15 @@ each one that proves valid.
|
|||
|
||||
~~~
|
||||
:valid?
|
||||
[ [ 'byr: s:contains-string? ]
|
||||
[ 'iyr: s:contains-string? ]
|
||||
[ 'eyr: s:contains-string? ] tri and and ]
|
||||
[ [ 'byr: s:contains/string? ]
|
||||
[ 'iyr: s:contains/string? ]
|
||||
[ 'eyr: s:contains/string? ] tri and and ]
|
||||
|
||||
[ [ 'hgt: s:contains-string? ]
|
||||
[ 'hcl: s:contains-string? ]
|
||||
[ 'ecl: s:contains-string? ] tri and and ]
|
||||
[ [ 'hgt: s:contains/string? ]
|
||||
[ 'hcl: s:contains/string? ]
|
||||
[ 'ecl: s:contains/string? ] tri and and ]
|
||||
|
||||
[ 'pid: s:contains-string? ] tri and and ;
|
||||
[ 'pid: s:contains/string? ] tri and and ;
|
||||
|
||||
#0 &Passports [ valid? [ n:inc ] if ] a:for-each
|
||||
~~~
|
||||
|
@ -209,9 +209,9 @@ Then I implement the checks for each field.
|
|||
[ height-metric? ] [ height-imperial? ] choose record-result ;
|
||||
:process-hcl [ fetch $# eq? ]
|
||||
[ s:length #7 eq? ]
|
||||
[ [ 'abcdef0123456789 swap s:contains-char? ] s:filter s:length #6 eq? ] tri
|
||||
[ [ 'abcdef0123456789 swap s:contains/char? ] s:filter s:length #6 eq? ] tri
|
||||
and and record-result ;
|
||||
:process-ecl EYE-COLORS a:contains-string? record-result ;
|
||||
:process-ecl EYE-COLORS a:contains/string? record-result ;
|
||||
:process-pid [ s:length #9 eq? ]
|
||||
[ [ c:digit? ] s:filter s:length #9 eq? ] bi and record-result ;
|
||||
~~~
|
||||
|
|
|
@ -144,7 +144,7 @@ Then I look to see if it has a file extension.
|
|||
|
||||
~~~
|
||||
:has-extension? (s-sf)
|
||||
dup $. s:contains-char? ;
|
||||
dup $. s:contains/char? ;
|
||||
~~~
|
||||
|
||||
If there is an extension, it can be mapped to a type code.
|
||||
|
|
|
@ -62,7 +62,7 @@ any used space is recovered.
|
|||
{{
|
||||
:identify-classes (-a)
|
||||
here #0 ,
|
||||
[ dup d:name 'class: s:contains-string?
|
||||
[ dup d:name 'class: s:contains/string?
|
||||
&, &drop choose ] d:for-each
|
||||
here over - n:dec over store ;
|
||||
---reveal---
|
||||
|
|
|
@ -32,7 +32,7 @@ increments the counter.
|
|||
~~~
|
||||
:a:enum (a-)
|
||||
#0 swap
|
||||
[ dup $= s:contains-char?
|
||||
[ dup $= s:contains/char?
|
||||
[ nip $= s:split/char [ n:inc s:to-number ] dip ] if
|
||||
over &const dip n:inc
|
||||
] a:for-each drop ;
|
||||
|
|
|
@ -38,7 +38,7 @@ Works imperfectly, but useful.
|
|||
[ drop SOURCE/RETRO ] [ d:name ] choose !FileName ;
|
||||
:count-lines (-) #1 !Line
|
||||
(open @FileName file:open-for-reading !FileID !Size )
|
||||
[ @FileID file:read-line word-name s:contains-string?
|
||||
[ @FileID file:read-line word-name s:contains/string?
|
||||
dup [ &Line v:inc ] -if not (-eof? @FileID file:tell @Size lt? ) and ]
|
||||
while (close @FileID file:close ) ;
|
||||
:pre (a-f) word file ;
|
||||
|
@ -61,4 +61,3 @@ will not be found correctly..
|
|||
|
||||
Also, words defined in Rx such as
|
||||
`push`, `pop`, `drop`, `swap`, and `dup` are not found.
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ I pass it to `s:evaluate`, capturing and relaying the output.
|
|||
#128 allot
|
||||
|
||||
:message?
|
||||
here 'PRIVMSG s:contains-string? ;
|
||||
here 'PRIVMSG s:contains/string? ;
|
||||
|
||||
:channel
|
||||
here 'PRIVMSG s:split-on-string drop #8 + $: s:split nip s:chop &Channel s:copy ;
|
||||
|
|
|
@ -117,7 +117,7 @@ hex conversion above.
|
|||
|
||||
~~~
|
||||
:decode (s-n)
|
||||
dup &Instructions a:contains-string?
|
||||
dup &Instructions a:contains/string?
|
||||
[ &Instructions swap a:index-of-string ]
|
||||
[ s:to-hex-number ] choose ;
|
||||
~~~
|
||||
|
|
|
@ -11,9 +11,9 @@ Three words will be exposed.
|
|||
'Namespaces d:create #513 allot
|
||||
|
||||
{{
|
||||
:has-namespace? dup $: s:contains-char? ;
|
||||
:has-namespace? dup $: s:contains/char? ;
|
||||
:get-namespace $: s:split nip ;
|
||||
:known? dup &Namespaces a:contains-string? ;
|
||||
:known? dup &Namespaces a:contains/string? ;
|
||||
:add s:keep buffer:add &Namespaces v:inc ;
|
||||
:process get-namespace known? &drop &add choose ;
|
||||
---reveal---
|
||||
|
|
|
@ -198,7 +198,7 @@ display a range of lines, use `p`, followed by a `first,last` line
|
|||
number pair.
|
||||
|
||||
~~~
|
||||
:pair? @Input $, s:contains-char? ;
|
||||
:pair? @Input $, s:contains/char? ;
|
||||
:get-limits @Input $, s:tokenize [ s:to-number ed:constrain ] a:for-each ;
|
||||
:display-range over - n:inc [ dup ed:display-line n:inc ] times drop ;
|
||||
|
||||
|
@ -211,7 +211,7 @@ The final display related command is `/`, which displays lines that contain
|
|||
the text following the `/`.
|
||||
|
||||
~~~
|
||||
:match? I ed:to-line @Input s:contains-string? ;
|
||||
:match? I ed:to-line @Input s:contains/string? ;
|
||||
|
||||
:cmd:/ @Lines [ match? [ I ed:display-line ] if ] indexed-times ;
|
||||
~~~
|
||||
|
|
|
@ -85,7 +85,7 @@ nl 'Classes: s:put nl nl
|
|||
|
||||
:identify-classes (-a)
|
||||
here #0 ,
|
||||
[ d:name dup 'class: s:contains-string?
|
||||
[ d:name dup 'class: s:contains/string?
|
||||
&, &drop choose ] d:for-each
|
||||
here over - n:dec over store ;
|
||||
|
||||
|
@ -109,7 +109,7 @@ nl 'Sigils: s:put nl nl
|
|||
|
||||
:identify-sigils (-a)
|
||||
here #0 ,
|
||||
[ d:name dup 'sigil: s:contains-string?
|
||||
[ d:name dup 'sigil: s:contains/string?
|
||||
&, &drop choose ] d:for-each
|
||||
here over - n:dec over store ;
|
||||
|
||||
|
|
|
@ -907,11 +907,11 @@ In higher level code:
|
|||
[ drop #-1 ] if ;
|
||||
~~~
|
||||
|
||||
`s:contains-char?` returns a flag indicating whether or not a
|
||||
`s:contains/char?` returns a flag indicating whether or not a
|
||||
given character is in a string.
|
||||
|
||||
~~~
|
||||
:s:contains-char? (sc-f) s:index-of #-1 -eq? ;
|
||||
:s:contains/char? (sc-f) s:index-of #-1 -eq? ;
|
||||
~~~
|
||||
|
||||
Hash (using DJB2)
|
||||
|
@ -925,7 +925,7 @@ on an implementation at http://www.cse.yorku.ca/~oz/hash.html
|
|||
:s:hash (s-n) #5381 swap [ \swlimuad `33 ] s:for-each ;
|
||||
~~~
|
||||
|
||||
`s:contains-string?` returns a flag indicating whether or not
|
||||
`s:contains/string?` returns a flag indicating whether or not
|
||||
a given substring is in a string.
|
||||
|
||||
~~~
|
||||
|
@ -949,7 +949,7 @@ a given substring is in a string.
|
|||
:next (-)
|
||||
&I v:inc ;
|
||||
---reveal---
|
||||
:s:contains-string? (ss-f)
|
||||
:s:contains/string? (ss-f)
|
||||
!Tar !Src s:empty !Pad #0 !I #0 !F
|
||||
@Src s:length
|
||||
[ extract terminate compare next ] times
|
||||
|
@ -1099,9 +1099,9 @@ First are a bunch of words to help identify character values.
|
|||
:c:letter? (c-f) &c:lowercase? &c:uppercase? bi or ;
|
||||
:c:digit? (c-f) $0 $9 n:between? ;
|
||||
:c:visible? (c-f) #32 #126 n:between? ;
|
||||
:c:vowel? (c-f) 'aeiouAEIOU swap s:contains-char? ;
|
||||
:c:vowel? (c-f) 'aeiouAEIOU swap s:contains/char? ;
|
||||
:c:consonant? (c-f) dup c:letter? [ c:vowel? not ] [ drop FALSE ] choose ;
|
||||
:c:whitespace? (c-f) s:WHITESPACE swap s:contains-char? ;
|
||||
:c:whitespace? (c-f) s:WHITESPACE swap s:contains/char? ;
|
||||
~~~
|
||||
|
||||
And the inverse forms. (These are included for readability and
|
||||
|
@ -1476,7 +1476,7 @@ a `TRUE` flag for.
|
|||
here over - n:dec over store ;
|
||||
~~~
|
||||
|
||||
Next are `a:contains?` and `a:contains-string?` which
|
||||
Next are `a:contains?` and `a:contains/string?` which
|
||||
compare a given value to each item in the array and returns
|
||||
a flag.
|
||||
|
||||
|
@ -1484,7 +1484,7 @@ a flag.
|
|||
:a:contains? (na-f)
|
||||
#0 swap [ swap push over eq? pop or ] a:for-each nip ;
|
||||
|
||||
:a:contains-string? (na-f)
|
||||
:a:contains/string? (na-f)
|
||||
#0 swap [ swap push over s:eq? pop or ] a:for-each nip ;
|
||||
~~~
|
||||
|
||||
|
|
BIN
ngaImage
BIN
ngaImage
Binary file not shown.
|
@ -19,7 +19,7 @@ words that likely display something: `':put d:words-with`.
|
|||
:d:words-with (s-)
|
||||
here s:copy
|
||||
[ d:name dup here
|
||||
(put-match s:contains-string? [ s:put sp ] [ drop ] choose )
|
||||
(put-match s:contains/string? [ s:put sp ] [ drop ] choose )
|
||||
] d:for-each ;
|
||||
~~~
|
||||
|
||||
|
@ -28,11 +28,11 @@ it does not care where in the name the substring is found. To
|
|||
deal with this, `d:words-beginning-with` is provided.
|
||||
|
||||
~~~
|
||||
{{
|
||||
{{
|
||||
:display-if-left (s-)
|
||||
dup here s:begins-with? [ s:put sp ] [ drop ] choose ;
|
||||
---reveal---
|
||||
dup here s:begins-with? [ s:put sp ] [ drop ] choose ;
|
||||
---reveal---
|
||||
:d:words-beginning-with (s-)
|
||||
here s:copy [ d:name display-if-left ] d:for-each ;
|
||||
}}
|
||||
here s:copy [ d:name display-if-left ] d:for-each ;
|
||||
}}
|
||||
~~~
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
~~~
|
||||
:s:split (sc-ss) s:split/char ;
|
||||
:s:split-on-string (ss-ss) s:split/string ;
|
||||
:s:contains-char? s:contains/char? ;
|
||||
:s:contains-string? s:contains/string? ;
|
||||
:a:contains-string? s:contains/string? ;
|
||||
~~~
|
||||
|
||||
|
|
|
@ -283,7 +283,7 @@ before doing the checks.
|
|||
:record-name !SourceLine field:name s:keep over &GlossaryNames + store ;
|
||||
:populate-names #1 'doc/words.tsv [ record-name n:inc ] file:for-each-line
|
||||
n:dec &GlossaryNames store ;
|
||||
:in-set? dup &GlossaryNames a:contains-string? ;
|
||||
:in-set? dup &GlossaryNames a:contains/string? ;
|
||||
---reveal---
|
||||
:display-missing
|
||||
restrict-scope populate-names
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
#define CELL_MAX LLONG_MAX - 1
|
||||
#endif
|
||||
#endif
|
||||
CELL ngaImageCells = 14999;
|
||||
CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,10,3,10,4,10,
|
||||
CELL ngaImageCells = 15072;
|
||||
CELL ngaImage[] = { 1793,14780,15046,15071,202107,379,351,1030,1535,0,10,1,10,2,10,3,10,4,10,
|
||||
5,10,6,10,7,10,8,10,11,10,12,10,13,10,14,10,15,10,16,10,
|
||||
17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,68223234,1,2575,
|
||||
85000450,1,656912,140,157,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,2049,56,25,
|
||||
|
@ -63,7 +63,7 @@ CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,
|
|||
0,961,4,133,86,101,114,115,105,111,110,0,980,426,145,105,0,991,107,145,
|
||||
100,0,996,420,145,114,0,1001,205,133,66,97,115,101,0,1006,351,145,101,114,
|
||||
114,58,110,111,116,102,111,117,110,100,0,105,109,97,103,101,58,115,97,118,
|
||||
101,0,103,101,0,0,105,110,103,0,116,101,100,46,114,101,116,114,111,0,
|
||||
101,0,103,101,0,105,110,103,63,0,0,101,100,46,114,101,116,114,111,0,
|
||||
110,100,0,126,0,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,
|
||||
87,88,89,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
|
@ -213,7 +213,7 @@ CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,
|
|||
3992,145,115,58,105,110,100,101,120,45,111,102,0,4,1793,4006,68223234,1,6415,33883396,
|
||||
101450758,6404,3,1,3995,7,10,1,3995,1793,4015,18,2049,2993,772,10,1,4010,1793,4024,
|
||||
2049,81,67502597,11,10,1,4019,2049,2214,1793,4034,3,1,-1,10,1,4030,9,10,3978,
|
||||
4058,145,115,58,99,111,110,116,97,105,110,115,45,99,104,97,114,63,0,2049,
|
||||
4058,145,115,58,99,111,110,116,97,105,110,115,47,99,104,97,114,63,0,2049,
|
||||
3992,1,-1,12,10,4038,4074,145,115,58,104,97,115,104,0,1,5381,4,1793,4082,
|
||||
286458116,33,10,1,4079,2049,3958,10,4064,4094,133,83,114,99,0,0,4087,4102,133,84,
|
||||
97,114,0,0,4095,4110,133,80,97,100,0,0,4103,4116,133,73,0,0,4111,4122,
|
||||
|
@ -223,7 +223,7 @@ CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,
|
|||
4154,4190,145,99,111,109,112,97,114,101,0,3841,4110,3841,4102,2049,95,3841,4122,22,
|
||||
4097,4122,3841,4122,1793,4210,3841,4116,4097,4129,10,1,4205,2049,72,10,4179,4223,145,110,
|
||||
101,120,116,0,1,4116,2049,3077,10,4064,4250,145,115,58,99,111,110,116,97,105,
|
||||
110,115,45,115,116,114,105,110,103,63,0,4097,4102,4097,4094,2049,3716,4097,4110,1,
|
||||
110,115,47,115,116,114,105,110,103,63,0,4097,4102,4097,4094,2049,3716,4097,4110,1,
|
||||
0,4097,4116,1,0,4097,4122,3841,4094,2049,81,1793,4281,2049,4165,2049,4143,2049,4190,2049,
|
||||
4223,10,1,4272,2049,2330,3841,4122,10,4228,4295,133,83,116,114,0,0,4288,4307,145,
|
||||
101,120,116,114,97,99,116,0,2049,2145,3841,4295,4,2049,3215,3841,-1,67502597,17,1,
|
||||
|
@ -416,7 +416,7 @@ CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,
|
|||
64,10,1,8028,2049,7588,2049,1929,1793,8056,67502597,15,2049,107,2049,7820,10,1,8049,2049,
|
||||
2155,2049,1929,67502597,18,2049,2993,67502597,16,10,8014,8084,145,97,58,99,111,110,116,97,
|
||||
105,110,115,63,0,1,0,4,1793,8096,4,5,67502597,11,6,22,10,1,8089,2049,
|
||||
7820,772,10,8069,8124,145,97,58,99,111,110,116,97,105,110,115,45,115,116,114,
|
||||
7820,772,10,8069,8124,145,97,58,99,111,110,116,97,105,110,115,47,115,116,114,
|
||||
105,110,103,63,0,1,0,4,1793,8137,4,5,67502597,2049,95,6,22,10,1,8129,
|
||||
2049,7820,772,10,8102,8152,145,97,58,109,97,112,0,1793,8158,8,2049,107,10,1,
|
||||
8154,2049,7588,2049,1929,1793,8173,67502597,15,2049,107,2049,7820,10,1,8166,2049,2155,10,8143,
|
||||
|
@ -760,4 +760,8 @@ CELL ngaImage[] = { 1793,14780,14974,14998,202107,379,351,1030,1535,0,10,1,10,2,
|
|||
14944,145,100,58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,
|
||||
119,105,116,104,0,2049,1929,2049,4736,1793,14955,2049,163,2049,14895,10,1,14950,2049,7640,
|
||||
10,14918,14971,145,115,58,115,112,108,105,116,0,2049,6201,10,14960,14995,145,115,58,
|
||||
115,112,108,105,116,45,111,110,45,115,116,114,105,110,103,0,2049,6233,10,0 };
|
||||
115,112,108,105,116,45,111,110,45,115,116,114,105,110,103,0,2049,6233,10,14974,
|
||||
15018,145,115,58,99,111,110,116,97,105,110,115,45,99,104,97,114,63,0,2049,
|
||||
4058,10,14998,15043,145,115,58,99,111,110,116,97,105,110,115,45,115,116,114,105,
|
||||
110,103,63,0,2049,4250,10,15021,15068,145,97,58,99,111,110,116,97,105,110,115,
|
||||
45,115,116,114,105,110,103,63,0,2049,4250,10,0 };
|
||||
|
|
Loading…
Reference in a new issue