Sha256: c6516e81c54496799d617c0112bc3fa664b119a3fe3b16dd9e78e7f26d5921b2

Contents?: true

Size: 434 Bytes

Versions: 10

Compression:

Stored size: 434 Bytes

Contents

h = { a: :A, b: :B }

def foo(h)
  h.fetch(:a)     #=> :A | :B
end
def bar(h)
  h.fetch(:a, :C) #=> :A | :B | :C
end
def baz(h)
  n = nil
  [h.fetch(:a) do |k| #=> :A | :B | :C
    n = k #=> :A | :B
    :C
  end, n]
end

foo(h)
bar(h)
baz(h)

__END__
# Classes
class Object
  def foo : ({:a=>:A, :b=>:B}) -> (:A | :B)
  def bar : ({:a=>:A, :b=>:B}) -> (:A | :B | :C)
  def baz : ({:a=>:A, :b=>:B}) -> ([:A | :B | :C, (:a | :b)?])
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
typeprof-0.4.2 smoke/hash-fetch.rb
typeprof-0.4.1 smoke/hash-fetch.rb
typeprof-0.4.0 smoke/hash-fetch.rb
typeprof-0.3.0 smoke/hash-fetch.rb
typeprof-0.2.0 smoke/hash-fetch.rb
typeprof-0.1.4 smoke/hash-fetch.rb
typeprof-0.1.3 smoke/hash-fetch.rb
typeprof-0.1.2 smoke/hash-fetch.rb
typeprof-0.1.1 smoke/hash-fetch.rb
typeprof-0.1.0 smoke/hash-fetch.rb