10

これを行うとうまくいきます:

q = case period_group
  when 'day' then [7, 'D'] 
  when 'week' then [7, 'WW'] 
  else ['12','MM']
end
limit,pattern = q[0],q[1]

しかし、私の最初の試み:

limit, pattern = case period_group
  when 'day' then 7, 'D' 
  when 'week' then 7, 'WW' 
  else '12','MM'
end

結局SyntaxErrorになります:

syntax error, unexpected ',', expecting keyword_end
      when 'day' then 7, 'D' 

私は何かが足りないのですか?

4

2 に答える 2

22

このために配列を返す必要があります。そうしないと、パーサーが混乱します。

limit, pattern = case period_group
  when 'day' then [7, 'D'] 
  when 'week' then [7, 'WW'] 
  else ['12','MM']
end

角かっこを削除したかった理由がわかりません。そうすればさらに読みやすくなります。

于 2012-09-07T08:44:03.997 に答える
3

[]内に戻り値を入れるのを忘れました

limit, pattern = case period_group
  when 'day' then [7, 'D']     
  when 'week' then [7, 'WW']     
  else ['12','MM']    
end  
于 2012-09-07T08:44:28.773 に答える