First Non-Repeated Character

繰り返しじゃない最初の文字を表示。

設問

Write a program to find the first non repeated character in a string.

Input sample:

The first argument will be a text file containing strings. e.g.

yellow
tooth

Output sample:

Print to stdout, the first non repeating character, one per line.
e.g.

y
h

やってみた

#!/usr/bin/env ruby

def non_repeated_chars(str)
  str.chars.inject(Hash.new(0)){|h, val| h[val]+=1;h}.select{|k,v| v==1}.keys
end

ARGF.lines do |line|
  puts non_repeated_chars(line.chomp).first
end

一旦、文字をkeyで個数をvalueにしたhashにしてからselect。
まどろっこしい、他にないだろうか。

追記

RubyでFirst Non-Repeated Characterを解く-CodeEval - hp12c

ARGF.lines { |line| puts line.chars.detect { |chr| line.count(chr) == 1 } }

ああああああ。String#count。。。恥ずかしい。