使用hash或case-statement [Ruby]
发布时间:2020-12-16 21:21:43 所属栏目:百科 来源:网络整理
导读:一般哪个更好用?: case nwhen 'foo' result = 'bar'when 'peanut butter' result = 'jelly'when 'stack' result = 'overflow'return result 要么 map = {'foo' = 'bar','peanut butter' = 'jelly','stack' = 'overflow'}return map[n] 更具体地说,我何时应
一般哪个更好用?:
case n when 'foo' result = 'bar' when 'peanut butter' result = 'jelly' when 'stack' result = 'overflow' return result 要么 map = {'foo' => 'bar','peanut butter' => 'jelly','stack' => 'overflow'} return map[n] 更具体地说,我何时应该使用case语句,何时应该只使用哈希? 解决方法
哈希是数据结构,case语句是控制结构.
当您只是检索某些数据时(例如您提供的示例中),您应该使用哈希值.如果需要执行其他逻辑,则应编写case语句. 此外,如果您需要执行某些模式匹配,则使用case语句是有意义的: #pattern matching using ranges letterGrade = case score when 0..64 then "F" when 65..69 then "D" when 70..79 then "C" when 80..89 then "B" when 90..100 then "A" else "Invalid Score" end #pattern matching using regular expressions case songData when /title=(.*)/ puts "Song title: #$1" when /track=(.*)/ puts "Track number: #$1" when /artist=(.*)/ puts "Artist name: #$1" end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |