This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# String.unpack1 (from ruby core) --- str.unpack1(format) -> obj str.unpack1(format, offset: anInteger) -> obj --- Decodes *str* (which may contain binary data) according to the format string, returning the first value extracted. See also String#unpack, Array#pack. Contrast with String#unpack: "abc \0\0abc \0\0".unpack('A6Z6') #=> ["abc", "abc "] "abc \0\0abc \0\0".unpack1('A6Z6') #=> "abc" In that case data would be lost but often it's the case that the array only holds one value, especially when unpacking binary data. For instance: "\xff\x00\x00\x00".unpack("l") #=> [255] "\xff\x00\x00\x00".unpack1("l") #=> 255 Thus unpack1 is convenient, makes clear the intention and signals the expected return value to those reading the code. The keyword *offset* can be given to start the decoding after skipping the specified amount of bytes: "abc".unpack1("C*") # => 97 "abc".unpack1("C*", offset: 2) # => 99 "abc".unpack1("C*", offset: 4) # => offset outside of string (ArgumentError)
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.