Class: Lingo::Database::Source::KeyValue
- Inherits:
-
Lingo::Database::Source
- Object
- Lingo::Database::Source
- Lingo::Database::Source::KeyValue
- Defined in:
- lib/lingo/database/source/key_value.rb
Overview
– Abgeleitet von Source behandelt die Klasse Dateien mit dem Format KeyValue
. Eine Zeile "Fachbegriff*Fachterminus\n"
wird gewandelt in [ 'fachbegriff', ['fachterminus#s'] ]
. Die Wortklasse kann über den Parameter def-wc
beeinflusst werden. Der Trenner zwischen Schlüssel und Projektion kann über den Parameter separator
geändert werden. ++
Constant Summary collapse
- DEFAULT_SEPARATOR =
'*'.freeze
- DEFAULT_DEF_WC =
Language::LA_UNKNOWN
Constants inherited from Lingo::Database::Source
Instance Attribute Summary
Attributes inherited from Lingo::Database::Source
Instance Method Summary collapse
- #dump_line(key, val, sep = @sep) ⇒ Object
-
#initialize ⇒ KeyValue
constructor
A new instance of KeyValue.
- #parse_line(line, key, val) ⇒ Object
Methods inherited from Lingo::Database::Source
#each, #each_dump, #each_lexical, #each_line, from_config, from_id, lexicals, #rejected, #set, #size
Constructor Details
#initialize ⇒ KeyValue
Returns a new instance of KeyValue.
46 47 48 49 |
# File 'lib/lingo/database/source/key_value.rb', line 46 def initialize(*) super @pat = /^(#{@wrd})#{Regexp.escape(@sep)}(#{@wrd})$/ end |
Instance Method Details
#dump_line(key, val, sep = @sep) ⇒ Object
55 56 57 |
# File 'lib/lingo/database/source/key_value.rb', line 55 def dump_line(key, val, sep = @sep, *) val.map(&:form).unshift(key).join(sep) end |
#parse_line(line, key, val) ⇒ Object
51 52 53 |
# File 'lib/lingo/database/source/key_value.rb', line 51 def parse_line(line, key, val) [key.strip, [lexical(val.strip, @def)]] end |