[#4766] Wiki — "Glen Stampoultzis" <trinexus@...>

21 messages 2000/09/04
[#4768] RE: Wiki — "NAKAMURA, Hiroshi" <nahi@...> 2000/09/04

Hi, Glen,

[#4783] Re: Wiki — Masatoshi SEKI <m_seki@...> 2000/09/04

[#4785] Re: Wiki — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/09/05

Howdy,

[#4883] Re-binding a block — Dave Thomas <Dave@...>

16 messages 2000/09/12

[#4930] Perl 6 rumblings -- RFC 225 (v1) Data: Superpositions — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/09/15

[#4936] Ruby Book Eng. translation editor's questions — Jon Babcock <jon@...>

20 messages 2000/09/16

[#5045] Proposal: Add constants to Math — Robert Feldt <feldt@...>

15 messages 2000/09/21

[#5077] Crazy idea? infix method calls — hal9000@...

This is a generalization of the "in" operator idea which I

17 messages 2000/09/22

[#5157] Compile Problem with 1.6.1 — Scott Billings <aerogems@...>

When I try to compile Ruby 1.6.1, I get the following error:

15 messages 2000/09/27

[ruby-talk:4891] [TOY] FL

From: ts <decoux@...>
Date: 2000-09-12 11:06:08 UTC
List: ruby-talk #4891
 I've written this small module, just to play with ruby.

 It has probably many bugs and  probably work only with this example, this
 is *really* only a toy :-)

pigeon% cat b.rb
#!/usr/bin/ruby
require 'fl'
 
class A < FL
   def invariant
      puts "invariant class A"
      super
   end
   def alpha(x, y)
      pre {
         @old = {}
         print "pre alpha : ", y, "\n"
         @old['first'] = x
      }
      post { |result|
         print "post alpha : ", x, " -- ", result.join(' -- '), "\n"
      }
      1 + 1
   end
end
 
class B < A
   def invariant
      puts "invariant class B"
      super
   end
   def alpha(a, b)
      print "old value : ", @old['first'], "\n"
      if a == 1
         puts "if true"
         return [3, 4]
      end
      puts "void return"
      [1, 2]
   end
end
 
a = B.new
puts "=======> alpha"
p a.alpha(1, 4)
puts "=======> alpha"
p a.alpha(2, 4)
pigeon%

pigeon% b.rb
=======> alpha
invariant class B
invariant class A
pre alpha : 4
old value : 1
if true
post alpha : 1 -- 3 -- 4
invariant class B
invariant class A
[3, 4]
=======> alpha
invariant class B
invariant class A
pre alpha : 4
old value : 2
void return
post alpha : 2 -- 1 -- 2
invariant class B
invariant class A
[1, 2]
pigeon%

 :-)


Guy Decoux

In This Thread

Prev Next