Forum: PC-Programmierung Ruby: binding_of_caller


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Moriz (untertaucher)


Lesenswert?

Es gibt ein interessantes Ruby-Gem, mit dem man das Binding des 
aufrufenden Kontextes bekommen soll:

    gem install binding_of_caller

Die Installation für Ruby 3.2.2 läuft auch brav durch und ein
require 'binding_of_caller' wird klaglos ausgeführt.

Nur: wie kann ich binding_of_caller aufrufen?

von Moriz (untertaucher)


Lesenswert?

Ich habs:

   binding.of_caller(1)

Der Modul BindingOfCaller wird in Binding includet…

von Moriz (untertaucher)


Lesenswert?

Damit lässt sich schön eine assert-Methode bauen:
1
def assert(str)
2
    bnd = binding.of_caller(1)
3
    if !bnd.eval(str)
4
        puts("assertion failed: '#{str}'")
5
        debugger
6
    end
7
end
8
9
def test
10
   aaa = 1
11
   assert('0 > aaa')
12
end
13
14
test

von Moriz (untertaucher)


Lesenswert?

Mein Gott, was sind hier für 5 Idioten unterwegs…

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.