challenge ケブンッリジ関数

 与えた文章の各単語の最初と最後の文字以外の文字を入れ替えた文章を出力する処理を実装して下さい。元の文章の与え方は特に問いません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#! c:\ruby\bin\ruby.exe -Ks

class Cmabrigde
    def self.convert(word)
        cs = word.split("")
        (cs.size <= 3) ? word : cs.first + cs[1..-2].sort_by { |c| rand }.join("") + cs.last
    end
end

source = <<EOS
こんにちは みなさん おげんき ですか? わたしは げんき です。
この ぶんしょう は いぎりす の ケンブリッジ だいがく の けんきゅう の けっか
にんげん は もじ を にんしき する とき その さしいょ と さいご の もじさえ あっていれば
じゅんばん は めちゃくちゃ でも ちゃんと よめる という けんきゅう に もとづいて
わざと もじの じゅんばん を いれかえて あります。
どうです? ちゃんと よめちゃう でしょ?
ちゃんと よめたら はんのう よろしく
EOS
source.each_line do |line|
    puts line.chomp.split(/\s+/).map { |word| Cmabrigde.convert(word) }.join(" ")
end

Posted feedbacks

Number of comments:40 Nested Flatten
  1. 5 Ruby
  2. 4 C#
  3. 3 Groovy Other
  4. 2 PHP Scheme diff Python Haskell
  5. 1 OCaml Java SQL なでしこ C Perl J C++ R Common Lisp Smalltalk Scala Batchfile

Index

Feed

Other

Link

Pathtraq

loading...