我正在尝试在ruby中编写一个函数,给定一个具有不同数据类型的数组,返回一个只包含字符串元素的新数组。例如,给定数组:
<style>
@media (max-width: 550px) {
.big-container {display: none;}
}
@media (min-width: 550px) {
.small-container {display: none;}
}
/* Responsive iFrame */
.responsive-iframe-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.responsive-iframe-container iframe,
.vresponsive-iframe-container object,
.vresponsive-iframe-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
我想编写一个返回一个如下所示的新数组的函数:
arr = [1, 3, 'hello', 'goodbye', 20, 'arrays are fun']
ruby中是否有内置函数可以完成给定数组中数据类型的分离?
答案 0 :(得分:4)
array.delete_if { |obj| !(obj.is_a? String) }
答案 1 :(得分:0)
我找到了一个有效的方法grep
!
def remove_non_strings(array)
array.grep(String)
end