The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.2 KiB

project('string arithmetic', 'c', meson_version: '>=0.62.0')
assert('foo' + 'bar' == 'foobar')
assert('foo' + 'bar' + 'baz' == 'foobarbaz')
a = 'a'
b = 'b'
assert(a + b + 'c' == 'abc')
# ------------------------------------------------------------------------------
# format strings:
# ------------------------------------------------------------------------------
sub1 = 'the'
sub2 = ' quick\n'
sub3 = ' brown'
sub4 = '\nfox'
x = f'@sub1@@sub2@@sub3@@sub4@'
assert(x == sub1 + sub2 + sub3 + sub4)
assert(x == 'the quick\n brown\nfox')
# ------------------------------------------------------------------------------
# multi-line format strings
# ------------------------------------------------------------------------------
y_actual = f'''This is a multi-line comment with string substition:
"@sub1@@sub2@@sub3@@sub4@"
And I can even substitute the entry multiple times!
@sub1@
@sub2@
@sub3@
'''
y_expect = '''This is a multi-line comment with string substition:
"the quick
brown
fox"
And I can even substitute the entry multiple times!
the
quick
brown
'''
message('actual=' + y_actual)
message('expect=' + y_expect)
assert(y_actual == y_expect)