文件操作 - type.rb
返回文件管理
返回主菜单
删除本文件
文件: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/type.rb
编辑文件内容
# frozen_string_literal: true # Returns the data type of a given value with a given degree of generality. # # ```puppet # type InferenceFidelity = Enum[generalized, reduced, detailed] # # function type(Any $value, InferenceFidelity $fidelity = 'detailed') # returns Type # ``` # # @example Using `type` # # ``` puppet # notice type(42) =~ Type[Integer] # ``` # # Would notice `true`. # # By default, the best possible inference is made where all details are retained. # This is good when the type is used for further type calculations but is overwhelmingly # rich in information if it is used in a error message. # # The optional argument `$fidelity` may be given as (from lowest to highest fidelity): # # * `generalized` - reduces to common type and drops size constraints # * `reduced` - reduces to common type in collections # * `detailed` - (default) all details about inferred types is retained # # @example Using `type()` with different inference fidelity: # # ``` puppet # notice type([3.14, 42], 'generalized') # notice type([3.14, 42], 'reduced'') # notice type([3.14, 42], 'detailed') # notice type([3.14, 42]) # ``` # # Would notice the four values: # # 1. `Array[Numeric]` # 2. `Array[Numeric, 2, 2]` # 3. `Tuple[Float[3.14], Integer[42,42]]]` # 4. `Tuple[Float[3.14], Integer[42,42]]]` # # @since 4.4.0 # Puppet::Functions.create_function(:type) do dispatch :type_detailed do param 'Any', :value optional_param 'Enum[detailed]', :inference_method end dispatch :type_parameterized do param 'Any', :value param 'Enum[reduced]', :inference_method end dispatch :type_generalized do param 'Any', :value param 'Enum[generalized]', :inference_method end def type_detailed(value, _ = nil) Puppet::Pops::Types::TypeCalculator.infer_set(value) end def type_parameterized(value, _) Puppet::Pops::Types::TypeCalculator.infer(value) end def type_generalized(value, _) Puppet::Pops::Types::TypeCalculator.infer(value).generalize end end
修改文件时间
将文件时间修改为当前时间的前一年
删除文件