Project1

标题: 求个计算方法~~ [打印本页]

作者: 灯笼菜刀王    时间: 2018-3-13 11:33
标题: 求个计算方法~~
本来觉得很容易计算出来的结果,结果越写越长,花了一个早上最后还是错的,实在没辙了,求大大帮忙

题目: 一数组, size == 5。 内容包含 nil, 0 , 正整数, 负整数 这四种,数值没有规律且有可能数个值相同。  F = [a,b,c,d,e]

想要的结果, 从数组F中获得一个正整数,如果数组里没有正整数,那就得到负整数,如果也没负整数,那就得到0或nil

额外要求(重点): 得到数值的优先度要按数组的顺序排列。 即:F[0]如果是正整数,那就返回它,如果没有,就看后面的F[1]... 如果数组里都没有 正整数,那就再按顺序 看F[0]是不是负整数,是的话返回它,不是继续看F[1]....

求计算方法~~ 可以的话,越短越好...(某菜刀写的方法从707-805,结果又臭又长还是错的 = =....)


作者: 芯☆淡茹水    时间: 2018-3-13 11:47
data = f.find{|n| n && n > 0}
data = f.find{|n| n && n < 0}  if !data
data = f[0] if !data
p data
作者: 灯笼菜刀王    时间: 2018-3-13 11:57
芯☆淡茹水 发表于 2018-3-13 11:47
data = f.find{|n| n && n > 0}
data = f.find{|n| n && n < 0}  if !data
data = f[0] if !data

感谢大大,又学了个新方法,一个find就省了一串的if...elsif ....




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1