Sha256: ea24c0f5c0629b351e40980914cb0db399ae82d444e85766f775638da7faf3fb
Contents?: true
Size: 1.39 KB
Versions: 3
Compression:
Stored size: 1.39 KB
Contents
#!/usr/bin/ruby # # sentence.rb - this file contains the class definition for the # LinkParser::Sentence class. # require "forwardable" class LinkParser class Sentence extend Forwardable # initializes a new Sentence object def initialize @definitions = [] @linkages = [] @names = [] end # the definitions in this sentence attr_accessor :definitions # the linkages of this sentence attr_accessor :linkages # the words in this sentence attr_accessor :names def_delegators :@definitions, *(Array.instance_methods(false)) def to_str @names.join(" ") end def sentence? ! @linkages.empty? end def verb return nil if @linkages.empty? @linkages.find {|linkage| vrb = linkage.connections.find {|conn| conn.name.match(/^S/) } return vrb.rword if vrb vrb = linkage.connections.find {|conn| conn.name.match(/^O/) } return vrb.lword if vrb } return nil end def subject return nil if @linkages.empty? @linkages.find {|linkage| subj = linkage.connections.find {|conn| conn.name.match(/^S/) } return subj.lword if subj } return nil end def object return nil if @linkages.empty? @linkages.find {|linkage| obj = linkage.connections.find {|conn| conn.name.match(/^O/) } return obj.rword if obj } return nil end end # class Sentence end # class LinkParser
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rwdeliza-0.03 | lib/linkparser/sentence.rb |
rwdeliza-0.05 | lib/linkparser/sentence.rb |
rwdeliza-0.04 | lib/linkparser/sentence.rb |