Hi,
ganz offensichtlich liefert der Webserver die Datei
/home/k/klischat/www/map_v2/enum_map.rb
unter der URL
http://user.cs.tu-berlin.de/~klischat/map_v2/enum_map.rb
nur unvollständig aus:
klischat@butterfly:~ > cat /home/k/klischat/www/map_v2/enum_map.rb
require 'map'
module EnumerableMap
include Map
include Enumerable
def self.included(mod)
begin
mod.module_eval "alias_method :each_pair, :each"
rescue NameError
# mod doesn't define each. Not an error (but the methods below
# won't work).
end
end
def each_key
each{|(k,v)| yield k}
end
def each_value
each{|(k,v)| yield v}
end
def empty?
each{ return false }
true
end
def has_value?(value)
each{|(k,v)| return true if value==v }
false
end
alias_method :value?, :has_value?
def index(value)
each{|(k,v)| return k if value==v }
nil
end
def keys
result=[]
each{|(k,v)| result << k }
result
end
def values
result=[]
each{|(k,v)| result << v }
result
end
def invert
result={}
each{|(k,v)| result[v]=k }
result
end
def merge(other)
result=to_hash
other.each do |(k,v)|
result[k] = if key? k
if block_given?
yield(k,self[k],v)
else
v
end
else
result[k]=v
end
end
result
end
# unfortunately, in order to be compatible to Hash#reject, this
# method must be incompatible to Enumerable#reject :(
#
# (Hash#reject returns a Hash, Enumerable#reject returns an Array)
def reject
result={}
each{|(k,v)| result[k]=v unless yield(k,v) }
result
end
def to_hash
result={}
each{|(k,v)| result[k]=v }
result
end
def to_s
self.to_a.join
end
def sort(&block)
to_a.sort(&block)
end
def length
result=0
each{|(k,v)| result += 1 }
result
end
alias_method :size, :length
def ==(other)
unless other.kind_of?(Hash) or other.kind_of?(Map) # better: include Map in Hash
other = other.to_hash # better (...): to_map
end
# return false unless self.default==other.default
l=0
begin
self.each do |(k,v)|
return false unless other.fetch(k)==v
l+=1
end
rescue IndexError
return false
end
l==other.length
end
end
klischat@butterfly:~ > lynx -dump http://user.cs.tu-berlin.de/~klischat/map_v2/enum_map.rb
require 'map'
module EnumerableMap
include Map
include Enumerable
def self.included(mod)
begin
mod.module_eval "alias_method :each_pair, :each"
rescue NameError
# mod doesn't define each. Not an error (but the methods below
# won't work).
end
end
def each_key
each{|(k,v)| yield k}
end
def each_value
each{|(k,v)| yield v}
end
def empty?
each{ return false }
true
end
def has_value?(value)
each{|(k,v)| return true if value==v }
false
end
alias_method :value?, :has_value?
def index(value)
each{|(k,v)| return k if value==v }
nil
end
def keys
result=[]
each{|(k,v)| result << k }
result
end
def values
result=[]
each{|(k,v)| result << v }
result
end
def invert
result={}
each{|(k,v)| result[v]=k }
result
end
def merge(other)
result=to_hash
other.each do |(k,v)|
result[k] = if key? k
if block_given?
yield(k,self[k],v)
else
v
end
else
result[k]=v
end
end
result
end
# unfortunately, in order to be compatible to Hash#reject, this
# method must be incompatible to Enumerable#reject :(
#
# (Hash#reject returns a Hash, Enumerable#reject returns an Array)
def reject
result={}
each{|(k,v)| result[k]=v unless yield(k,v) }
result
end
def to_hash
result={}
each{|(k,v)| result[k]=v }
result
end
def to_s
self.to_a.join
end
def sort(&block)
to_a.sort(&block)
end
def length
result=0
each{|(k,v)| result += 1 }
result
end
alias_method :size, :length
def ==(other)
unless other.kind_of?(Hash) or other.kind_of?(Map) # better: include Map i
n Hash
other = other.to_hash # better (...): to_map
end
# return false unless self.default==other.default
l=0
begin
self.each do |(k,v)|
return false unless other.fetch(k)==v
l+=1
end
rescue IndexError
return false
end
l==oth
klischat@butterfly:~ >
Ich habe es mit verschiedenen HTTP-Clients auf verschiedenen Rechnern
(nicht nur an der TU) probiert -- immer mit demselben Ergebnis.
Olaf
--
Olaf Klischat | TU Berlin computer science
Oberfeldstrasse 132 |
12683 Berlin, Germany |
phone: +49 30 54986231 | eMail: klis...@cs.tu-berlin.de
> (Cc: an Webmaster)
>
> Hi,
>
> ganz offensichtlich liefert der Webserver die Datei
>
> /home/k/klischat/www/map_v2/enum_map.rb
>
> unter der URL
>
> http://user.cs.tu-berlin.de/~klischat/map_v2/enum_map.rb
>
> nur unvollständig aus:
[...]
Hmm. Jetzt geht es offenbar. Ich schwöre, dass ich nicht halluziniert
habe. Der Output war genau wie angegeben, auf mehreren Rechnern an der
TU, .isst.fhg.de, Arcor.
Olaf