args_simple

pub package
Null Safety
Codecov
CI
GitHub Tag
New Commits
Last Commits
Pull Requests
Code size
License

一个简单的参数解析器和处理程序,集成了JSON和dart:io。

API文档

请参阅API文档以获取函数、类和扩展的完整列表。

用法

import 'dart:io';

import 'package:args_simple/args_simple_io.dart';

/// Examples of valid values for the parameter `args`:
///
/// - `/path/config.json --port 81 -verbose`
/// - `/path/config.json -verbose --sys-config /my/sys-config-dir`
/// - `/path/config.json root`
void main(List<String> _args) {
  var args = ArgsSimple.parse(_args);

  if (args.isEmpty) {
    print(
            'USAGE: [%configFile.json] [%user] [--port] [--sys-config %systemConfig] [-verbose]');
    exit(0);
  }

  // Argument #0 is a JSON `File`:
  var config = args.argumentMatches(0, RegExp(r'.json$'))
          ? args.argumentAsFileContentJSON(0)!
          : {};

  // Argument #1 is an optional `String`, with `guest` as default:
  var user = args.argumentAsString(1, 'guest');

  // Option `sys-config` is a `Directory`, with `/default/sys-config-dir` as default:
  var systemConfigDir = args.optionAsDirectory(
          'sys-config', Directory('/default/sys-config-dir'))!;

  // Option `--port` is an `int`, with 8080 as default:
  var port = args.optionAsInt('port', 8080);

  // Check for flag `-verbose`:
  var verbose = args.flag('verbose');

  if (verbose) {
    print('-- Config: $config');
    print('-- User: $user');
    print('-- System-Config Dir: $systemConfigDir');
    print('-- Port: $port');
    print('-- Verbose: $verbose');
    print(args);
  }
}

来源

官方源代码托管于GitHub

功能和 Bug

请在问题跟踪器上报告功能请求和错误。

贡献

来自开源社区的任何帮助总是受欢迎且需要的

  • 发现问题?
    • 请提供详细信息提交bug报告。
  • 想要一个新功能?
    • 提出功能请求并附带使用场景。
  • 你正在使用并且喜欢这个项目吗?
    • 推广项目:写一篇文章、发帖或捐款。
  • 你是开发者吗?
    • 修复一个bug并提交一个pull request。
    • 实现新功能,例如其他训练算法和激活函数。
    • 改进单元测试。
  • 你是否已经提供过帮助?
    • 非常感谢我、贡献者以及所有使用这个项目的人!

如果您捐赠 1 小时的您的时间,您将贡献很多,
因为其他人也会这样做,只需参与并从您的一小时开始。

作者

Graciliano M. Passos: gmpassos@GitHub

许可证

Apache License – Version 2.0

GitHub

查看 Github