检查数组是否仅包含字符串对象

问题描述 投票:0回答:1

是否有比下面更简洁的方法来检查数组是否仅包含String类对象?

a = ['one','twon','three']  # => ["one", "twon", "three"]

b = ['one','twon', 1 ]  # => ["one", "twon", 1]

c = ['one','twon', {one: 1} ]  # => ["one", "twon", {:one=>1}]

def contains_only_string_class(object)
  uniq_a= object.map{ |i| i.class }.uniq          # => [String], [String, Integer], [String, Hash]
  uniq_a.include?(String) & (uniq_a.length == 1)  # => true,     false,             false
end                                               # => :contains_only_string_class

contains_only_string_class(a)  # => true
contains_only_string_class(b)  # => false
contains_only_string_class(c)  # => false
ruby-on-rails ruby ruby-on-rails-5
1个回答
2
投票

如何使用all?

all?
© www.soinside.com 2019 - 2024. All rights reserved.