dry-matcher 项目教程

dry-matcher 项目教程

dry-matcherFlexible, expressive pattern matching for Ruby项目地址:https://gitcode.com/gh_mirrors/dr/dry-matcher

1. 项目的目录结构及介绍

dry-matcher/
├── lib/
│   ├── dry/
│   │   ├── matcher.rb
│   │   └── matcher/
│   │       ├── case.rb
│   │       └── version.rb
│   └── dry-matcher.rb
├── spec/
│   ├── dry/
│   │   └── matcher_spec.rb
│   └── spec_helper.rb
├── .gitignore
├── Gemfile
├── LICENSE.txt
├── README.md
└── dry-matcher.gemspec
  • lib/: 包含项目的核心代码。
    • dry/matcher.rb: 主文件,定义了 Dry::Matcher 类。
    • dry/matcher/case.rb: 定义了 Dry::Matcher::Case 类,用于创建匹配案例。
    • dry/matcher/version.rb: 定义了项目的版本号。
  • spec/: 包含项目的测试代码。
    • dry/matcher_spec.rb: 针对 Dry::Matcher 类的测试。
    • spec_helper.rb: 测试辅助文件。
  • .gitignore: Git 忽略文件列表。
  • Gemfile: 定义了项目的依赖。
  • LICENSE.txt: 项目的许可证。
  • README.md: 项目的说明文档。
  • dry-matcher.gemspec: 项目的 gem 规范文件。

2. 项目的启动文件介绍

项目的启动文件是 lib/dry-matcher.rb,该文件引入了 dry/matcher 目录下的所有必要文件,并定义了 Dry::Matcher 类。

require "dry/matcher/case"
require "dry/matcher/version"

module Dry
  class Matcher
    def initialize(**cases)
      @cases = cases
    end

    def call(value, &block)
      @cases.each do |name, case_|
        if result = case_.(value)
          return block.call(name, result)
        end
      end
      nil
    end
  end
end

3. 项目的配置文件介绍

项目的配置文件主要是 dry-matcher.gemspec,该文件定义了项目的 gem 规范,包括名称、版本、作者、描述、依赖等信息。

Gem::Specification.new do |spec|
  spec.name          = "dry-matcher"
  spec.version       = Dry::Matcher::VERSION
  spec.authors       = ["Piotr Solnica"]
  spec.email         = ["piotr.solnica@gmail.com"]

  spec.summary       = "Flexible, expressive pattern matching for Ruby"
  spec.description   = spec.summary
  spec.homepage      = "https://dry-rb.org/gems/dry-matcher"
  spec.license       = "MIT"

  spec.files         = Dir["lib/**/*", "LICENSE", "Rakefile", "README.md"]
  spec.require_paths = ["lib"]

  spec.add_runtime_dependency "dry-core", "~> 0.4"
  spec.add_development_dependency "bundler", "~> 2.0"
  spec.add_development_dependency "rake", "~> 13.0"
  spec.add_development_dependency "rspec", "~> 3.9"
end

以上是 dry-matcher 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。

dry-matcherFlexible, expressive pattern matching for Ruby项目地址:https://gitcode.com/gh_mirrors/dr/dry-matcher

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白来存

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值