[#40361] 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...>

藤岡です。

55 messages 2004/12/07
[#40362] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/07

まつもと ゆきひろです

[#40363] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/07

藤岡です。

[#40364] Re: 1.8のcgi/session.rb — akira yamada / やまだあきら <akira@...> 2004/12/07

2004-12-07 (火) の 22:09 +0900 に Takeyuki Fujioka さんは書きました:

[#40365] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/08

藤岡です。

[#40366] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/08

まつもと ゆきひろです

[#40367] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/08

藤岡です。

[#40368] Re: 1.8のcgi/session.rb — Tietew <tietew-ml-ruby-list@...> 2004/12/08

Tietew です。

[#40369] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/08

まつもと ゆきひろです

[#40370] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/08

藤岡です。

[#40371] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/08

まつもと ゆきひろです

[#40372] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/08

藤岡です。

[#40375] Re: 1.8のcgi/session.rb — akira yamada / やまだあきら <akira@...> 2004/12/08

Takeyuki Fujioka wrote:

[#40377] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/09

藤岡です。

[#40378] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/09

まつもと ゆきひろです

[#40379] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/09

藤岡です。

[#40380] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/09

まつもと ゆきひろです

[#40384] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/09

まつもと ゆきひろです

[#40386] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/09

藤岡です。

[#40398] Re: 1.8のcgi/session.rb — 植田裕之 <ueda@...> 2004/12/13

植田@ネットフォレストと申します。

[#40399] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/13

まつもと ゆきひろです

[#40400] Re: 1.8のcgi/session.rb — Takeyuki Fujioka <fuji@...> 2004/12/13

藤岡です。

[#40401] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/13

まつもと ゆきひろです

[#40403] Re: 1.8のcgi/session.rb — TAKAHASHI Masayoshi <maki@...> 2004/12/13

高橋征義です。

[#40404] Re: 1.8のcgi/session.rb — Yukihiro Matsumoto <matz@...> 2004/12/13

まつもと ゆきひろです

[ruby-list:40351] Can't return array in nested recursive

From: KIRIYAMA Kazuhiko <kiri@...>
Date: 2004-12-05 13:33:03 UTC
List: ruby-list #40351
桐山@鳥羽商船高等専門学校 です。

hash_rearrange.rb:
~~~~~~~~~~~~~~~~~~
#!/usr/local/bin/ruby -Ke

Questions    = {
  ["1. 対象者",0] => 
                          [["text","No","","r","席, "],
                           ["text","Name","","l","氏名: "],
                           ["text","UID","","l","UID: "]],
  ["2. 実習基準単位",0] => 
                          [["text","theme1","","l","第 1 テーマ:"],
                           ["text","coretime1","","r","時間<br />"],
                           ["text","theme2","","l","第 2 テーマ:"],
                           ["text","coretime2","","r","時間<br />"]],
  ["3. 全般的なこと",1] => {
    ["3.1 内容のレベル",0] =>
                          [["radio","level","proof","c","実証を伴なう解説"],
                           ["radio","level","research","c","テーマの調査"],
                           ["radio","level","explain","c","既報の説明"]],
    ["3.2 内容の質",1] => {
      ["(1) テーマ",0] =>
                          [["radio","theme","verygood","c","大変良い"],
                           ["radio","theme","good","c","まあまあ良い"],
                           ["radio","theme","ordinary","c","普通"],
                           ["radio","theme","notgood","c","あまり良くない"],
                           ["radio","theme","bad","c","悪い"]],
      ["(2) 問題意識",0] =>
                          [["radio","concern","verygood","c","大変良い"],
                           ["radio","concern","good","c","まあまあ良い"],
                           ["radio","concern","ordinary","c","普通"],
                           ["radio","concern","notgood","c","あまり良くない"],
                           ["radio","concern","bad","c","悪い"]],
      ["(3) 実証",0] =>
                          [["radio","proof","verygood","c","大変良い"],
                           ["radio","proof","good","c","まあまあ良い"],
                           ["radio","proof","ordinary","c","普通"],
                           ["radio","proof","notgood","c","あまり良くない"],
                           ["radio","proof","bad","c","悪い"]]
    }
  }
}

def getformnames(data, key, b)
  b = [] if b == nil
  for a in data.keys.sort
    if a[1] > 0
      b << a[0]
      getformnames(data[a], key, b)
    else
      if data[a][0][0] == "radio"
        b << a[0]
        if key == data[a][0][1]
          $formnames = b.dup
        end
        b.pop
      end
    end
  end
  b.pop
end

$formnames = []
keyword = "concern"
getformnames(Questions, keyword, nil)

p $formnames


これを実行すると、

% ./hash_rearrange.rb
["3. 全般的なこと", "3.2 内容の質", "(2) 問題意識"]

となりますが、これを

--- hash_rearrange.rb.org	Sun Dec  5 22:16:55 2004
+++ hash_rearrange.rb	Sun Dec  5 22:23:43 2004
@@ -231,7 +231,7 @@
       if data[a][0][0] == "radio"
         b << a[0]
         if key == data[a][0][1]
-          $formnames = b.dup
+          return b.dup
         end
         b.pop
       end
@@ -240,8 +240,5 @@
   b.pop
 end
 
-$formnames = []
 keyword = "concern"
-getformnames(Questions, keyword, nil)
-
-p $formnames
+p getformnames(Questions, keyword, nil)


すると、

% ./hash_rearrange.rb
"3.2 内容の質"

となるのはどうしてなのでしょうか?

In This Thread

Prev Next