From caaae36f7237f44a6855b7bee9a491c9877f5445 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sun, 24 Nov 2019 16:30:35 +0800 Subject: [PATCH] init commit --- .gitignore | 2 ++ buildj.v | 26 ++++++++++++++++++++++++++ buildj_util/buildj_util.v | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 buildj.v create mode 100644 buildj_util/buildj_util.v diff --git a/.gitignore b/.gitignore index d4777d2..2a6d5cd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ .DS_Store .AppleDouble .LSOverride +buildj +*.tmp.c # Icon must end with two \r Icon diff --git a/buildj.v b/buildj.v new file mode 100644 index 0000000..b0aeb7e --- /dev/null +++ b/buildj.v @@ -0,0 +1,26 @@ +module main + +// import http +// import os +// import time +// import json +import buildj_util +//import termcolor + +// https://bitbucket.org/hatterjiang/archived-study_v/src/master/buildjs.v +const ( + BUILDJ_NAME = 'buildj.v' + BUILDJ_VERSION = '0.1' + BUILD_JSON = 'build.json' +) + +fn main() { + buildj_util.check_os() + show_buildjs_head() + println(buildj_util.get_readable_size(1000000)) +} + +fn show_buildjs_head() { + println('${BUILDJ_NAME} - version: ${BUILDJ_VERSION}') +} + diff --git a/buildj_util/buildj_util.v b/buildj_util/buildj_util.v new file mode 100644 index 0000000..9ab1ecd --- /dev/null +++ b/buildj_util/buildj_util.v @@ -0,0 +1,38 @@ +module buildj_util + +const ( + ZERO = 0 + KB = 1024 + MB = KB * KB +) + +pub fn check_os() { + $if linux { + return + } + $if mac { + return + } + println('[ERROR] Not supported OS.') + exit(1) +} + +pub fn get_readable_size(size int) string { + if size <= ZERO { + return '${size} Byte' + } else if size < KB { + return '${size} Bytes' + } else if size < MB { + size_in_kb := f64_str_2f(f64(size) / f64(KB)) + return '${size_in_kb} KB' + } else { + size_in_mb := f64_str_2f(f64(size) / f64(MB)) + return '${size_in_mb} MB' + } +} + +fn f64_str_2f(d f64) string { + buf := malloc(sizeof(f64) * 5 + 1) + C.sprintf(buf, '%.2f', d) + return tos(buf, C.strlen(buf)) +}