capture code in a block

Discussion in 'Ruby' started by Kristoph, Oct 20, 2007.

  1. Kristoph

    Kristoph Guest

    Greetings,

    How might I capture the code in a block so that I can serialize it for
    later use? So for example ...

    file = CodeFile.new( 'something.rb')

    file.capture do
    puts 'Hello World'
    end

    .... which prompts a file to be created with ...

    puts 'Hello World'

    Any thoughts how this might be accomplished?

    ]{
    Kristoph, Oct 20, 2007
    #1
    1. Advertising

  2. Kristoph

    Konrad Meyer Guest

    --nextPart2175644.v5JOTTBBfD
    Content-Type: text/plain;
    charset="iso-8859-1"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    Quoth Kristoph:
    > Greetings,
    >=20
    > How might I capture the code in a block so that I can serialize it for
    > later use? So for example ...
    >=20
    > file =3D CodeFile.new( 'something.rb')
    >=20
    > file.capture do
    > puts 'Hello World'
    > end
    >=20
    > ... which prompts a file to be created with ...
    >=20
    > puts 'Hello World'
    >=20
    > Any thoughts how this might be accomplished?


    Do you actually want a literal "puts 'Hello World'" in the file, or just th=
    e=20
    string "Hello World"?

    def my_method &block
    @block =3D block
    end

    def my_other_method
    @block.call
    end

    Something like that?

    HTH,
    =2D-=20
    Konrad Meyer <> http://konrad.sobertillnoon.com/

    --nextPart2175644.v5JOTTBBfD
    Content-Type: application/pgp-signature; name=signature.asc
    Content-Description: This is a digitally signed message part.

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.7 (GNU/Linux)

    iD8DBQBHGU/+CHB0oCiR2cwRAtv6AJ0fEwmouk6VwJtzqXA+Xf5p34gg2QCePSev
    7cyCXm2/+L7vbmxmivYoFfk=
    =L7UK
    -----END PGP SIGNATURE-----

    --nextPart2175644.v5JOTTBBfD--
    Konrad Meyer, Oct 20, 2007
    #2
    1. Advertising

  3. Kristoph

    Kristoph Guest

    Konrad,

    Yes I want to capture and serialize the actual code into a file (and
    not actually execute that code until some later juncture).

    Basically I just want the contents of a block as a string, without
    executing it.

    Kristoph

    On Oct 19, 5:46 pm, Konrad Meyer <> wrote:
    > Quoth Kristoph:
    >
    >
    >
    > > Greetings,

    >
    > > How might I capture the code in a block so that I can serialize it for
    > > later use? So for example ...

    >
    > > file = CodeFile.new( 'something.rb')

    >
    > > file.capture do
    > > puts 'Hello World'
    > > end

    >
    > > ... which prompts a file to be created with ...

    >
    > > puts 'Hello World'

    >
    > > Any thoughts how this might be accomplished?

    >
    > Do you actually want a literal "puts 'Hello World'" in the file, or just the
    > string "Hello World"?
    >
    > def my_method &block
    > @block = block
    > end
    >
    > def my_other_method
    > @block.call
    > end
    >
    > Something like that?
    >
    > HTH,
    > --
    > Konrad Meyer <>http://konrad.sobertillnoon.com/
    >
    > signature.asc
    > 1KDownload
    Kristoph, Oct 20, 2007
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Showjumper
    Replies:
    1
    Views:
    686
    Showjumper
    Mar 19, 2005
  2. Max
    Replies:
    7
    Views:
    9,069
  3. Noozer

    Block DIV within a block DIV?

    Noozer, Jan 6, 2005, in forum: HTML
    Replies:
    3
    Views:
    11,343
    Mitja
    Jan 6, 2005
  4. Andy
    Replies:
    0
    Views:
    518
  5. morrell
    Replies:
    1
    Views:
    925
    roy axenov
    Oct 10, 2006
Loading...

Share This Page