我想要一个单行返回true/false,它测试数组中的每个元素是否为整数.因此,如果数组中的任何元素不是Integer,则应返回false,否则返回true.这是我的尝试:
>> ([2,1,4].map {|x| (x.is_a? Integer)}).reduce {|x, result| x and result}
=> true
>> ([2,"a",4].map {|x| (x.is_a? Integer)}).reduce {|x, result| x and result}
=> false
Run Code Online (Sandbox Code Playgroud)
还有其他想法可以进一步提炼它吗?
有没有人知道任何编程语言中的无理数表示类型/对象/类/什么?
欢迎所有建议.
简单地说,如果我有两个不合理的对象,两个都代表五的平方根,并且我将这些对象相乘,我想要得到整数五,而不是浮点数4点,即9秒.
具体来说,我需要表示能够收集术语,而不是每次都解决整数/浮点数.例如,如果我想添加五比一的平方根,我不希望它返回一些近似整数/浮点数,我希望它返回一个对象,我可以添加/乘以另一个无理对象,这样我可以告诉对象在最近的时间解决,以最小化浮点近似误差.
非常感谢!
我需要一个函数来检查一个数组是否包含其他数组,或者更一般地说,如果一个数组包含某个类。我天真的第一种方法是:
found=false
[1,"a",[],:asdf].each { |x| found=(x.is_a? Array) ? true : found }
puts found
Run Code Online (Sandbox Code Playgroud)
有什么办法可以优化这个吗?