September Morn Update

This commit is contained in:
Ingy döt Net 2019-09-12 10:33:56 -07:00
parent 4e2d22a71d
commit aac6731f2c
6856 changed files with 141342 additions and 21127 deletions

View file

@ -0,0 +1,13 @@
strip_comments(data b)
{
b.size(b.look(0, ";#")).bf_drop(" \t").bb_drop(" \t");
}
main(void)
{
for (, text n in list("apples, pears # and bananas", "apples, pears ; and bananas")) {
o_(strip_comments(n), "\n");
}
0;
}

View file

@ -1,5 +1,29 @@
import re
'''Comments stripped with itertools.takewhile'''
m = re.match(r'^([^#]*)#(.*)$', line)
if m: # The line contains a hash / comment
line = m.group(1)
from itertools import takewhile
# stripComments :: [Char] -> String -> String
def stripComments(cs):
'''The lines of the input text, with any
comments (defined as starting with one
of the characters in cs) stripped out.
'''
def go(cs):
return lambda s: ''.join(
takewhile(lambda c: c not in cs, s)
).strip()
return lambda txt: '\n'.join(map(
go(cs),
txt.splitlines()
))
if __name__ == '__main__':
print(
stripComments(';#')(
'''apples, pears # and bananas
apples, pears ; and bananas
'''
)
)

View file

@ -0,0 +1,13 @@
fn strip_comment<'a>(input: &'a str, markers: &[char]) -> &'a str {
input
.find(markers)
.map(|idx| &input[..idx])
.unwrap_or(input)
.trim()
}
fn main() {
println!("{:?}", strip_comment("apples, pears # and bananas", &['#', ';']));
println!("{:?}", strip_comment("apples, pears ; and bananas", &['#', ';']));
println!("{:?}", strip_comment("apples, pears and bananas ", &['#', ';']));
}