[#42503] floatの値がずれる — Sato Hiroshi <hirocy.f01@...>

hirocyと申します.

33 messages 2006/07/04
[#42504] Re: floatの値がずれる — rubikitch <rubikitch@...> 2006/07/04

From: Sato Hiroshi <hirocy.f01@plala.to>

[#42505] Re: floatの値がずれる — Sato Hiroshi <hirocy.f01@...> 2006/07/04

hirocyです.るびきちさん,ありがとうございます.

[#42569] JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...>

こんばんは。

19 messages 2006/07/11
[#42570] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[#42572] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...> 2006/07/11

In message <1152619872.835566.21152.nullmailer@x31.priv.netlab.jp>

[#42575] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[ruby-list:42557] Re: Array#default

From: take_tk <ggb03124@...>
Date: 2006-07-07 08:13:58 UTC
List: ruby-list #42557
たけ(tk)です

[ruby-list:42553] Re: Array#default にて
take_tk <ggb03124@nifty.com> さん曰く:

> * このプログラムで、オブジェクトを残す実装が良いとは思えないけど、それ
> はそれ・・。

オブジェクトを残さない実装に変更するのも超簡単。

# aa[nn]=@workbook.worksheets(1).cells(n+1,nn+1)
#  ↓
  @workbook.worksheets(1).cells(n+1,nn+1) #←★オブジェクトを残さない

----
#! ruby -Ks

require "Array_default" # [ruby-list:42536] Array#default
require "win32ole"

path = "W:/夏休予定表.xls"

APPLICATION = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(APPLICATION, WIN32OLE)
APPLICATION.visible = true
APPLICATION.displayAlerts = true

@workbook = APPLICATION.Workbooks.open(path)

array = []
array.extend(Array_default)
array.default = proc{|a,n|
  a[n] = []
  a[n].extend(Array_default)
  a[n].default = proc{|aa,nn|
##     aa[nn]=@workbook.worksheets(1).cells(n+1,nn+1)
     @workbook.worksheets(1).cells(n+1,nn+1) #←★オブジェクトを残さない
  }
  a[n]
}

x = 1 ; y = 0
p [x,y,array[x][y].value]

#=> [1, 0, "2006年 夏休み予定表"]

array[x][y].value = "2007年 夏休み予定表" # エクセルの書き換えもOK
p [x,y,array[x][y].value]

#=> [1, 0, "2007年 夏休み予定表"]

(4..10).each{|x| (0..1).each{|y|
  p [x,y,array[x][y].value]
}}

#=> [4, 0, "日付"]                 [4, 1, "曜日"]
#=> [5, 0, "2006/07/01 00:00:00"]  [5, 1, "土"]
#=> [6, 0, "2006/07/02 00:00:00"]  [6, 1, "日"]
#=> [7, 0, "2006/07/03 00:00:00"]  [7, 1, "月"]
#=> [8, 0, "2006/07/04 00:00:00"]  [8, 1, "火"]
#=> [9, 0, "2006/07/05 00:00:00"]  [9, 1, "水"]
#=> [10, 0, "2006/07/06 00:00:00"] [10, 1, "木"]

p array # ↓ 残っていない。

#=> [nil, [], nil, nil, [], [], [], [], [], [], []]

p :ok


Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


In This Thread