mirror of
https://github.com/vlang/v.git
synced 2025-09-16 16:02:29 +03:00
all: change optional to result of io (#16075)
This commit is contained in:
parent
6e46933c55
commit
f6844e9766
187 changed files with 1885 additions and 1874 deletions
|
@ -31,21 +31,21 @@ pub:
|
|||
|
||||
pub type SimArgs = ParallelArgs | SequentialArgs
|
||||
|
||||
pub fn parse_args(config ParserSettings) ?SimArgs {
|
||||
pub fn parse_args(config ParserSettings) !SimArgs {
|
||||
if config.sequential {
|
||||
args := parse_sequential_args()?
|
||||
args := parse_sequential_args()!
|
||||
return SimArgs(args)
|
||||
} else {
|
||||
args := parse_parallel_args(config.extra_workers)?
|
||||
args := parse_parallel_args(config.extra_workers)!
|
||||
return SimArgs(args)
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_sequential_args() ?SequentialArgs {
|
||||
fn parse_sequential_args() !SequentialArgs {
|
||||
mut fp := flag.new_flag_parser(os.args)
|
||||
fp.application('vps')
|
||||
fp.version('v0.1.0')
|
||||
fp.limit_free_args(0, 0)?
|
||||
fp.limit_free_args(0, 0)!
|
||||
fp.description('This is a pendulum simulation written in pure V')
|
||||
fp.skip_executable()
|
||||
|
||||
|
@ -64,7 +64,7 @@ fn parse_sequential_args() ?SequentialArgs {
|
|||
|
||||
fp.finalize() or {
|
||||
println(fp.usage())
|
||||
return none
|
||||
return error('none')
|
||||
}
|
||||
|
||||
params := sim.sim_params(
|
||||
|
@ -92,11 +92,11 @@ fn parse_sequential_args() ?SequentialArgs {
|
|||
return args
|
||||
}
|
||||
|
||||
fn parse_parallel_args(extra_workers int) ?ParallelArgs {
|
||||
fn parse_parallel_args(extra_workers int) !ParallelArgs {
|
||||
mut fp := flag.new_flag_parser(os.args)
|
||||
fp.application('vps')
|
||||
fp.version('v0.1.0')
|
||||
fp.limit_free_args(0, 0)?
|
||||
fp.limit_free_args(0, 0)!
|
||||
fp.description('This is a pendulum simulation written in pure V')
|
||||
fp.skip_executable()
|
||||
|
||||
|
@ -117,7 +117,7 @@ fn parse_parallel_args(extra_workers int) ?ParallelArgs {
|
|||
|
||||
fp.finalize() or {
|
||||
println(fp.usage())
|
||||
return none
|
||||
return error('none')
|
||||
}
|
||||
|
||||
params := sim.sim_params(
|
||||
|
|
|
@ -39,34 +39,34 @@ mut:
|
|||
cache_size int
|
||||
}
|
||||
|
||||
pub fn ppm_writer_for_fname(fname string, settings ImageSettings) ?&PPMWriter {
|
||||
pub fn ppm_writer_for_fname(fname string, settings ImageSettings) !&PPMWriter {
|
||||
mut writer := &PPMWriter{
|
||||
cache_size: settings.cache_size
|
||||
cache: []u8{cap: settings.cache_size}
|
||||
}
|
||||
writer.start_for_file(fname, settings)?
|
||||
writer.start_for_file(fname, settings)!
|
||||
return writer
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) start_for_file(fname string, settings ImageSettings) ? {
|
||||
writer.file = os.create(fname)?
|
||||
writer.file.writeln('P6 $settings.width $settings.height 255')?
|
||||
pub fn (mut writer PPMWriter) start_for_file(fname string, settings ImageSettings) ! {
|
||||
writer.file = os.create(fname)!
|
||||
writer.file.writeln('P6 $settings.width $settings.height 255')!
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) handle_pixel(p gx.Color) ? {
|
||||
pub fn (mut writer PPMWriter) handle_pixel(p gx.Color) ! {
|
||||
if writer.cache.len >= writer.cache_size {
|
||||
writer.write()?
|
||||
writer.flush()?
|
||||
writer.write()!
|
||||
writer.flush()!
|
||||
}
|
||||
writer.cache << [p.r, p.g, p.b]
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) flush() ? {
|
||||
pub fn (mut writer PPMWriter) flush() ! {
|
||||
writer.cache.clear()
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) write() ? {
|
||||
writer.file.write(writer.cache)?
|
||||
pub fn (mut writer PPMWriter) write() ! {
|
||||
writer.file.write(writer.cache)!
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) close() {
|
||||
|
|
|
@ -29,7 +29,7 @@ pub fn new_image_writer(mut writer PPMWriter, settings ImageSettings) &ImageWrit
|
|||
}
|
||||
}
|
||||
|
||||
pub fn (mut iw ImageWritter) handle(result sim.SimResult) ?int {
|
||||
pub fn (mut iw ImageWritter) handle(result sim.SimResult) !int {
|
||||
total_pixels := iw.settings.width * iw.settings.height
|
||||
|
||||
// find the closest magnet
|
||||
|
@ -46,7 +46,7 @@ pub fn (mut iw ImageWritter) handle(result sim.SimResult) ?int {
|
|||
|
||||
if iw.current_index == total_pixels {
|
||||
iw.writer.write() or { panic('Could not write image') }
|
||||
return none
|
||||
return error('none')
|
||||
}
|
||||
|
||||
return iw.current_index
|
||||
|
|
|
@ -3,11 +3,11 @@ module sim
|
|||
import benchmark
|
||||
import term
|
||||
|
||||
pub type SimRequestHandler = fn (request &SimRequest) ?
|
||||
pub type SimRequestHandler = fn (request &SimRequest) !
|
||||
|
||||
pub type SimStartHandler = fn () ?
|
||||
pub type SimStartHandler = fn () !
|
||||
|
||||
pub type SimFinishHandler = fn () ?
|
||||
pub type SimFinishHandler = fn () !
|
||||
|
||||
pub const (
|
||||
default_width = 600
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue