value_struct:Ruby 中的只读结构

时间:2024-06-18 09:12:40
【文件属性】:

文件名称:value_struct:Ruby 中的只读结构

文件大小:14KB

文件格式:ZIP

更新时间:2024-06-18 09:12:40

ruby value-object ruby-struct Ruby

价值结构 值结构是普通的子类,其行为几乎相同。 但是,它有一个主要区别: 值结构是不可变的,即它们没有设置器(尽管不是递归*) 此外,这个 gem 提供了以下可选的 mixin,使使用不可变结构时的生活更轻松: :dup_with_changes扩展#dup以采用可选的哈希值来设置副本中的新值 :strict_arguments值结构需要使用确切数量的参数进行初始化 :freeze自动冻结新实例 :no_clone更改#clone以返回相同的对象 默认情况下,只包含:dup_with_changes 。 没有 mixins,ValueStructs 几乎和普通结构一样快。 一些 mixin 增加了显着的开销,例如 strict_arguments 为什么? 有关更多信息,请参阅。 示例 1 require 'value_struct' SimplePoint = Value


【文件预览】:
value_struct-main
----gemspec.yml(364B)
----Rakefile(669B)
----.github()
--------workflows()
----.yardopts(64B)
----Gemfile(39B)
----.rspec(32B)
----.document(28B)
----MIT-LICENSE.txt(1KB)
----spec()
--------no_clone_spec.rb(275B)
--------value_struct_spec.rb(4KB)
--------freeze_spec.rb(204B)
--------dup_with_changes_spec.rb(578B)
--------strict_arguments_spec.rb(354B)
--------spec_helper.rb(38B)
--------benchmark.rb(890B)
----.gitignore(45B)
----lib()
--------value_struct()
--------value_struct.rb(1KB)
----CODE_OF_CONDUCT.md(3KB)
----README.md(3KB)
----ChangeLog.md(320B)
----.editorconfig(167B)
----value_struct.gemspec(2KB)

网友评论