ini :: IniSection
Section properties values are strings associated keys. Sections cannot be nested.
var section = new IniSection("section")
section["key1"] = "value1"
section["key2"] = "value2"
assert section.length == 2
assert section["key1"] == "value1"
assert section["not.found"] == null
assert section.join(", ", ": ") == "key1: value1, key2: value2"
var i = 0
for key, value in section do
assert key.has_prefix("key")
assert value.has_prefix("value")
i += 1
end
assert i == 2
ini $ IniSection :: SELF
Type of this instance, automatically specialized in every classserialization :: Serializable :: accept_json_serializer
Refinable service to customize the serialization of this class to JSONserialization :: Serializable :: accept_msgpack_attribute_counter
Hook to customize the behavior of theAttributeCounter
serialization :: Serializable :: accept_msgpack_serializer
Hook to customize the serialization of this class to MessagePackserialization :: Serializable :: add_to_bundle
Called by[]=
to dynamically choose the appropriate method according
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
serialization :: Serializable :: core_serialize_to
Actual serialization ofself
to serializer
core :: Map :: defaultinit
core :: MapRead :: defaultinit
core :: Object :: defaultinit
core :: HashMap :: defaultinit
ini :: IniSection :: defaultinit
core :: MapRead :: filter_keys
Return all elements ofkeys
that have a value.
serialization :: Serializable :: from_deserializer
Create an instance of this class from thedeserializer
core :: MapRead :: get_or_default
Get the item atkey
or return default
if not in map
core :: MapRead :: get_or_null
Get the item atkey
or null if key
is not in the map.
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
core :: MapRead :: keys_sorted_by_values
Return an array of all keys sorted with their values usingcomparator
.
core :: MapRead :: lookup_all_values
Search all the values inpe.greaters
.
core :: MapRead :: lookup_values
Combine the values inpe.greaters
from the most smaller elements that have a value.
serialization :: Serializable :: msgpack_extra_array_items
Hook to request a larger than usual metadata arraycore :: Object :: output_class_name
Display class name on stdout (debug only).core :: MapRead :: provide_default_value
Called by the underling implementation of[]
to provide a default value when a key
has no value
serialization :: Serializable :: serialize_msgpack
Serializeself
to MessagePack bytes
serialization :: Serializable :: serialize_to
Serializeself
to serializer
serialization :: Serializable :: serialize_to_json
Serializeself
to JSON
core :: MapRead :: to_map_comparator
A comparator that compares things with their values in self.serialization :: Serializable :: to_pretty_json
Serializeself
to plain pretty JSON
core :: MapRead :: values_sorted_by_key
Return an array of all values sorted with their keys usingcomparator
.
# A section in a IniFile
#
# Section properties values are strings associated keys.
# Sections cannot be nested.
#
# ~~~
# var section = new IniSection("section")
# section["key1"] = "value1"
# section["key2"] = "value2"
#
# assert section.length == 2
# assert section["key1"] == "value1"
# assert section["not.found"] == null
# assert section.join(", ", ": ") == "key1: value1, key2: value2"
#
# var i = 0
# for key, value in section do
# assert key.has_prefix("key")
# assert value.has_prefix("value")
# i += 1
# end
# assert i == 2
# ~~~
class IniSection
super HashMap[String, nullable String]
# Section name
var name: String
# Get the value associated with `key`
#
# Returns `null` if the `key` is not found.
#
# ~~~
# var section = new IniSection("section")
# section["key"] = "value1"
# section["sub.key"] = "value2"
#
# assert section["key"] == "value1"
# assert section["sub.key"] == "value2"
# assert section["not.found"] == null
# ~~~
redef fun [](key) do
if not has_key(key) then return null
return super
end
end
lib/ini/ini.nit:507,1--553,3