Merge pull request #6 from viniciusfdasilva/dev

Insert string.v file
This commit is contained in:
Vinicius Silva 2023-12-26 23:33:52 -03:00 committed by GitHub
commit 51e0ade461
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 228 additions and 1 deletions

39
03_variables/numbers.v Normal file
View File

@ -0,0 +1,39 @@
pub fn main()
{
a := 123
d := 0x7B
b := 0b01111011
c := 0o123
assert a == 123
assert d == 0x7B
assert b == 0b1111011
assert c == 0o123
num := 1_000_000
three := 0b0_11
hexa := 0xF_F
oct := 0o17_3
assert num == 1_000_000
assert three == 0b0_11
assert hexa == 0xF_F
assert oct == 0o17_3
a1 := i64(123)
b1 := u8(42)
c1 := i16(12345)
assert a1 == 123
assert b1 == 42
assert c1 == 12345
f0 := 42e1
f1 := 123e-2
f2 := 456e+2
assert f0 == 42e1
assert f1 == 123e-2
assert f2 == 456e+2
}

21
03_variables/runes.v Normal file
View File

@ -0,0 +1,21 @@
pub fn main()
{
rocket := `🚀`
assert rocket.str() == '🚀'
println(rocket)
assert rocket.bytes() == [u8(0xf0),0x9f, 0x9a,0x80]
assert `\x61` == `a`
//assert `\x141` == `a`
//assert `\x0061` == `a`
rocket_string := '🚀'
assert rocket_string[0] != `🚀`
assert 'aloha!'[0] == `a`
hello := 'Hello World 👋'
hello_runes := hello.runes()
assert hello_runes.string() == hello
}

82
03_variables/strings.v Normal file
View File

@ -0,0 +1,82 @@
pub fn main()
{
mut name := 'Bob'
assert name.len == 3
assert name[0] == u8(66)
assert name[1..3] == 'ob'
windows_newline := '\r\n'
assert windows_newline.len == 2
aardvark_str := '\x61ardvark'
assert aardvark_str == 'aardvark'
assert '\xc0'[0] == u8(0xc0)
aardvark_str2 := '\141ardvark'
assert aardvark_str2 == 'aardvark'
start_str := '\u2605'
//assert start_str == '*'
assert start_str == '\xe2\x98\x85'
s := 'hello 🌎'
arr := s.bytes()
assert s.len == 10
s2 := arr.bytestr()
assert s2 == s
mut s1 := 'hello 🌎'
assert s1 == 'hello 🌎'
// s1[0] = 'H' Not allowed
country := 'Netherlands'
println(country[0])
println(country[0].ascii_str())
s3 := r'hello\nworld'
println(s3)
s4 := '42'
n := s4.int()
assert n == 42
assert '0xc3'.int() == 195
assert '0o10'.int() == 8
assert '0b1111_0000_1010'.int() == 3850
assert '-0b1111_0000_1010'.int() == -3850
name = 'Bob'
println('Hello, ${name}!')
x := 123.4567
println('[${x:.2}]')
println('[${x:10}]')
println('[${int(x):-10}]')
println('[${int(x):010}]')
println('[${int(x):b}]')
println('[${int(x):o}]')
println('[${int(x):X}]')
println('[${10.0000:.2}]')
println('[${10.0000:.2f}]')
name = 'Bob'
bobby := name + 'by'
println(bobby)
mut s5 := 'hello '
s5 += 'world'
println(s5)
age := 10
println('age = ${age}')
age1 := 11
println('age = ${age1.str()}')
age2 := 12
println('age = ${age2}')
}

View File

@ -1,4 +1,3 @@
pub fn main() {
// ==================================== //

86
07_collections/arrays.v Normal file
View File

@ -0,0 +1,86 @@
pub fn main()
{
mut nums := [1,2,3]
println(nums)
println(nums[0])
println(nums[1])
nums[1] = 5
println(nums)
// ===================================== //
nums << 4
println(nums)
mut names := ['John']
names << 'Peter'
names << 'Sam'
println(names)
names1 := ['John', 'Peter', 'Sam']
println('Alex' in names1)
// ===================================== //
mut nums1 := [1,2,3]
println('len ${nums1.len}')
println('cap ${nums1.cap}')
nums1 = []
println('len ${nums1.len}')
println('cap ${nums1.cap}')
// ===================================== //
mut a := []int{len: 10000, cap: 30000, init: 3}
println(a[0])
// ===================================== //
arr := []int{len: 5, init: -1} // [-1,-1,-1,-1,-1]
users := []int{} // Empty
assert arr.len == 5
assert users == []
mut numbers := []int{cap: 1000}
println(numbers.len)
for i in 0 .. 1000 {
numbers << i
}
// ===================================== //
count := []int{len: 4, init: index}
assert count == [0,1,2,3]
mut square := []int{len: 6, init: index * index}
assert square[2] == 4
mut object_list := []ObjectSumType{}
object_list << Point{1,1}
object_list << Line{
p1 : Point{3,3}
p2 : Point{4,4}
}
dump(object_list)
}
type ObjectSumType = Line | Point
struct Point{
x int
y int
}
struct Line{
p1 Point
p2 Point
}