pry(main)> s = {:a =>2, :d=>'foo', :x => ' ', :n => true, :z => nil}
=> {:a=>2, :d=>"foo"}
pry(main)> s.each do |k,v| p k unless v.empty? end
NoMethodError: undefined method `length' for 2:Fixnum
我知道这是因为fixnum没有空方法。那么如何在光滑的的方式下解决这个问题,先没有讨厌查找数据类型然后检查它?我想打印那些k
,其中v
有一定的价值。是true
被认为是一个值,但不是一堆空格。对我来说“有价值”是指非空字符和布尔真。提取红宝石中的非空值
你是什么意思是“一些价值”? “真”具有一定的价值吗? – Amadan
是'true'有价值 – JVK
它不工作的原因是Ruby不知道你的意思。我们也一样。 “空”是什么意思?你的意思是'!无?'?你列出哪些值为“没有价值”? 'nil'?还要别的吗? – Casper