Show
Ignore:
Timestamp:
05/29/05 18:05:01 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5515
Message:

* Perl5Embed: .kv, .keys, .values, .pairs etc now works on Perl hashrefs.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Types/Hash.hs

    r4084 r4102  
    123123        keySV   <- fromVal $ castV key 
    124124        evalPerl5Sub "sub { $_[0]->{$_[1]} }" [sv, keySV] 
    125     hash_clear _ = retConstError undef 
    126     hash_store _ _ = retConstError undef 
     125    hash_clear sv = do 
     126        evalPerl5Sub "sub { undef %{$_[0]} }" [sv] 
     127        return () 
    127128    hash_storeVal sv key val = do 
    128129        keySV   <- fromVal $ castV key 
     
    134135        keysStr <- fromVal keysSV 
    135136        return $ lines keysStr 
    136     hash_storeElem _ _ _ = retConstError undef 
    137     hash_deleteElem _ _ = retConstError undef 
     137    hash_deleteElem sv key = do 
     138        keySV   <- fromVal $ castV key 
     139        evalPerl5Sub "sub { delete $_[0]->{$_[1]} }" [sv, keySV] 
     140        return () 
     141    hash_isEmpty sv = do 
     142        fromVal =<< evalPerl5Sub "sub { !!%{$_[0]} }" [sv]