123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- discard """
- matrix: "--mm:refc"
- output: '''
- Future is no longer empty, 42
- '''
- """
- import threadpool
- proc foo: string = "Dog"
- var x: FlowVar[string] = spawn foo()
- doAssert(^x == "Dog")
- block:
- type
- Box = object
- case empty: bool
- of false:
- contents: string
- else:
- discard
- var obj = Box(empty: false, contents: "Hello")
- doAssert obj.contents == "Hello"
- var obj2 = Box(empty: true)
- doAssertRaises(FieldDefect):
- echo(obj2.contents)
- import json
- doAssert parseJson("null").kind == JNull
- doAssert parseJson("true").kind == JBool
- doAssert parseJson("42").kind == JInt
- doAssert parseJson("3.14").kind == JFloat
- doAssert parseJson("\"Hi\"").kind == JString
- doAssert parseJson("""{ "key": "value" }""").kind == JObject
- doAssert parseJson("[1, 2, 3, 4]").kind == JArray
- import json
- let data = """
- {"username": "Dominik"}
- """
- let obj = parseJson(data)
- doAssert obj.kind == JObject
- doAssert obj["username"].kind == JString
- doAssert obj["username"].str == "Dominik"
- block:
- proc count10(): int =
- for i in 0 ..< 10:
- result.inc
- doAssert count10() == 10
- type
- Point = tuple[x, y: int]
- var point = (5, 10)
- var point2 = (x: 5, y: 10)
- type
- Human = object
- name: string
- age: int
- var jeff = Human(name: "Jeff", age: 23)
- var amy = Human(name: "Amy", age: 20)
- import asyncdispatch
- var future = newFuture[int]()
- doAssert(not future.finished)
- future.callback =
- proc (future: Future[int]) =
- echo("Future is no longer empty, ", future.read)
- future.complete(42)
- import asyncdispatch, asyncfile
- when false:
- var file = openAsync("")
- let dataFut = file.readAll()
- dataFut.callback =
- proc (future: Future[string]) =
- echo(future.read())
- asyncdispatch.runForever()
- import asyncdispatch, asyncfile, os
- proc readFiles() {.async.} =
- # --- Changed to getTempDir here.
- var file = openAsync(getTempDir() / "test.txt", fmReadWrite)
- let data = await file.readAll()
- echo(data)
- await file.write("Hello!\n")
- waitFor readFiles()
|