[#44713] パイプ経由コマンド実行? — "morita" <m-morita@...>
もりたと申します。お世話になります。
10 messages
2008/03/03
[#44714] Re: パイプ経由コマンド実行?
— Hidetoshi NAGAI <nagai@...>
2008/03/03
永井@知能.九工大です.
[#44716] Re: パイプ経由コマンド実行?
— "m-morita" <m-morita@...>
2008/03/03
もりた です。
[#44725] Set[Set[1]]==Set[Set[1]] は偽? — "5.5" <5.5@...>
5.5 です。
22 messages
2008/03/04
[#44726] Re: Set[Set[1]]==Set[Set[1]] は偽?
— "Ohto, Yasunori" <Yasunori.Ohto@...>
2008/03/05
大戸です。
[#44744] Re: Set[Set[1]]==Set[Set[1]] は偽?
— "5.5" <5.5@...>
2008/03/06
5.5 です。
[#44728] ダウンロードリンクが古い — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
10 messages
2008/03/05
[#44745] [ANN] Rails勉強会@東京 第28回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/03/07
[#44769] Ann: Ruby-1.9.0-1 Windowsインストーラパッケージ — arton <artonx@...>
artonです。
4 messages
2008/03/13
[#44773] PHPとの関数対照表 — "tadashi nagao" <tadashi.nagao@...>
長尾です。
7 messages
2008/03/14
[#44782] $stdin.rewind が exec した子プロセスに伝わらない? — SATOH Fumiyasu <fumiyas@...>
さとうふみやす @ OSS テクノロジです。
11 messages
2008/03/17
[#44783] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Kazuhiro NISHIYAMA <zn@...>
2008/03/17
西山和広です。
[#44785] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Nobuyoshi Nakada <nobu@...>
2008/03/17
なかだです。
[#44786] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— SATOH Fumiyasu <fumiyas@...>
2008/03/18
さとうふみやす @ OSS テクノロジです。
[#44787] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— Nobuyoshi Nakada <nobu@...>
2008/03/18
なかだです。
[#44788] Re: $stdin.rewind が exec した子プロセスに伝わらない?
— SATOH Fumiyasu <fumiyas@...>
2008/03/18
さとうふみやす @ OSS テクノロジです。
[ruby-list:44726] Re: Set[Set[1]]==Set[Set[1]] は偽?
From:
"Ohto, Yasunori" <Yasunori.Ohto@...>
Date:
2008-03-05 01:36:39 UTC
List:
ruby-list #44726
大戸です。
メールに指摘されている部分が実現できるように実装してみました ^_^;
classify その他のメソッドは実現していません m_ _m
Set を使う用途としては一階層の場合が多いように思います。
実際、私の場合、一階層のものしか使ったことがありませんでした。
このことから速さを優先したのではないかと考えられます。
------------------
require'Set'
class SuperSet <Set
def initialize(elements=[])
set= super
elements.each{ |i| set.add(i) }
return(set)
end
def SuperSet.[](*elements)
return(SuperSet.new(elements))
end
def ==(set)
set.each{ |i| include?(i) or return false }
return true
end
def add(element)
include?(element) or super(element)
end
def include?(element)
each{ |i| i==element and return true }
return false
end
end
if($0==__FILE__)
puts SuperSet[SuperSet[1]]==SuperSet[SuperSet[1]]
puts SuperSet[SuperSet[1],SuperSet[1]].length
end
------------------
実行結果
true
1
------------------
-----Original Message-----
From: 5.5 [mailto:5.5@moji.gr.jp]
Sent: Tuesday, March 04, 2008 11:21 PM
To: ruby mailing list
Subject: [ruby-list:44725] Set[Set[1]]==Set[Set[1]] は偽?
5.5 です。
set ライブラリについての疑問です。
Set[Set[1]]==Set[Set[1]] は false を返します。
これは,Set が要素の同一性の判定に eql? を使っており,Set#eql?
はハッシュ値の一致を見ているからですよね。
でも真を返してほしいです。
まったく同じ話ですが,Set[Set[1], Set[1]] で作った集合は要素数
が 2 になります。
でもこの集合は Set[Set[1]] と同じであってほしいです。
集合の要素が集合だったとき,その同一性の判定を Set#== でやるわ
けにはいかないのでしょうか。
現状の仕様がこうなっているのは何か理由があるのでしょうが,では
Set[Set[1]] と Set[Set[1]] が同一となるような同一性判定はどの
ようにすればよいでしょうか。
--
5.5@moji.gr.jp