-5

範囲内の文字を印刷するにはどうすればよいですか?

たとえば、「ruby」という単語がある場合、文字が a - h などの範囲内にある場合にのみ、文字を上下に印刷したいと考えています。

4

6 に答える 6

1
"ruby".chars.each do |x|
   if ('a'..'h').include?(x)
      print x
    end
end
于 2013-06-28T14:11:52.020 に答える
1
"ruby".each_char {|c| puts c if [*'a'..'h'].include? c}
于 2013-06-28T14:12:48.263 に答える
1

puts 'ruby'.chars.select{|c| ('a'..'h').cover?(c)}.join("\n")

于 2013-06-28T14:18:30.307 に答える
1
puts "rubyruby".chars.grep('a'..'h').join("\n")
于 2013-06-28T14:22:49.047 に答える
0

これを行うには多くの方法があります。たとえば、

'ruby'.tr("^a-h",'')

また

'ruby'.gsub(/[^a-h]/,'')

tr私はおそらく gsub を使用するでしょう - どの構文が理解できるかはまったく覚えていません

于 2013-06-28T14:21:14.603 に答える