【文件属性】:
文件名称:Contracts.ruby:Ruby的合同
文件大小:84KB
文件格式:ZIP
更新时间:2021-02-27 02:03:55
Ruby
该项目正在寻找新的维护者!
合同Ruby
合同使您可以清晰地甚至精美地表达代码的行为方式,并使您不必编写大量的防御性代码。
您可以将合同视为对类固醇的assert 。
安装
gem install contracts
你好,世界
合同是您在方法定义上方编写的一行代码。 它验证方法的参数,并验证方法的返回值。
这是一个简单的合同:
Contract Num => Num
def double ( x )
这表示double期望有一个数字并返回一个数字。 这是完整的代码:
require 'contracts'
class Example
include Contracts :: Core
include Contracts :: Builtin
Contract Num => Num
def double ( x )
x * 2
end
end
【文件预览】:
contracts.ruby-master
----CHANGELOG.markdown(8KB)
----.rubocop_todo.yml(4KB)
----.github()
--------workflows()
----TUTORIAL.md(26KB)
----benchmarks()
--------wrap_test.rb(981B)
--------hash.rb(1KB)
--------bench.rb(1KB)
--------io.rb(1KB)
--------invariants.rb(2KB)
----script()
--------docs-release(58B)
--------docs-staging(66B)
--------rubocop.rb(131B)
----lib()
--------contracts.rb(8KB)
--------contracts()
----contracts.gemspec(622B)
----Gemfile(266B)
----spec()
--------builtin_contracts_spec.rb(11KB)
--------module_spec.rb(379B)
--------support.rb(210B)
--------fixtures()
--------ruby_version_specific()
--------support_spec.rb(689B)
--------spec_helper.rb(4KB)
--------invariants_spec.rb(611B)
--------attrs_spec.rb(3KB)
--------methods_spec.rb(1KB)
--------override_validators_spec.rb(4KB)
--------validators_spec.rb(1KB)
--------contracts_spec.rb(22KB)
----TODO.markdown(471B)
----Rakefile(178B)
----LICENSE(1KB)
----README.md(3KB)
----.rubocop.yml(3KB)
----features()
--------basics()
--------README.md(518B)
--------builtin_contracts()
--------support()
----dependabot.yml(441B)
----.rspec(30B)
----.gitignore(47B)
----cucumber.yml(28B)