Blame view
bin/detect_smiley.rb
2.82 KB
362b552ee upload system |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
#!/usr/bin/env ruby require "rubygems" class String def include_positive_and_negative? hpos = Hash.new(false) hpos[":-)"] = true hpos[":-))"] = true hpos[":-)))"] = true hpos[":)"] = true hpos[":))"] = true hpos[":)))"] = true hpos[":-D"] = true hpos[":-DD"] = true hpos[":-DDD"] = true hpos[":-p"] = true hpos[":-pp"] = true hpos[":-ppp"] = true hpos[":-P"] = true hpos[":-PP"] = true hpos[":-PPP"] = true hpos["^_^"] = true hpos[";-)"] = true hpos[";-))"] = true hpos[";-)))"] = true hpos[";)"] = true hpos[";))"] = true hpos[";)))"] = true hpos["☺"] = true hpos["❤"] = true hpos["♥"] = true hpos["♥♥♥♥"] = true hpos["♥♥"] = true hpos["♥♥♥"] = true hpos["❤️"] = true hpos["❤️❤️"] = true hpos["❤️❤️❤️"] = true hpos["♥️"] = true hpos["♥️♥️"] = true hpos["♥️♥️♥️"] = true hpos["♥️♥️♥️♥️♥️"] = true hneg = Hash.new(false) hneg[":-("] = true hneg[":-(("] = true hneg[":-((("] = true hneg[":("] = true hneg[":(("] = true hneg[":((("] = true hneg[";-("] = true hneg[";-(("] = true hneg[";-((("] = true hneg[";("] = true hneg[";(("] = true hneg[";((("] = true pos = false neg = false ar = Array.new l = split(" ") l.each do |x| pos = true if hpos[ x ] == true neg = true if hneg[ x ] == true if hpos[ x ] == false if hneg[ x ] == false ar.push( x ) end end end return ar.join(" "), pos, neg end end def union?(pos, neg) if pos == true if neg == true return false end end if pos == false if neg == false return false end end return true end def launch $stdin.each do |line| line.chomp! line = line.split("\t") if line.size == 3 l, pos, neg = line[2].include_positive_and_negative? if union?(pos, neg) == true classe = "positive" if pos == true classe = "negative" if neg == true if l.split(" ").size > 5 line[1] = classe line[2] = l puts "#{line.join("\t")}" end end end end end def errarg puts "Usage : ./programme.rb" puts "Mickael Rouvier <mickael.rouvier@univ-avignon.fr>" end if ARGV.size == 0 launch else errarg end |