2015-05-26 100 views
1

使用大型数据集。通常数据是好的,但是对于一些条目,缺少一个值。ruby​​ a = b || c如果b未定义

我希望我的种子:

player.nationality = dataset_row.player_nationality or 'US' if dataset_row.player_nationality is undefined 

而且,寻找一个班轮解决方案。谢谢!

+0

'a = b.present? ? b:c' – gabrielhilal

+0

@gabrielhilal'presence'对于这个构造来说更清洁。 –

回答

1

你可以做到这一点

player.nationality = dataset_row.player_nationality.presence || 'US' 

希望这有助于!

+2

但是,您可以使用'.presence'来解释'nil'和空字符串。 –

+0

这是正确的,我使用'try'来避免nilClass错误,以防dataset_row变为空白,但在这里使用存在是有道理的,谢谢!我会编辑答案 – RSB

0

你可以做这样的:

player.nationality = dataset_row.player_nationality.present? ? dataset_row.player_nationality : 'US' 
+0

'存在'对于这种用途来说更好。 –

相关问题