Changeset 3961 for src/Pugs/Types/Array.hs
- Timestamp:
- 05/27/05 05:22:52 (4 years ago)
- svk:copy_cache_prev:
- 5515
- Files:
-
- 1 modified
-
src/Pugs/Types/Array.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Types/Array.hs
r3947 r3961 251 251 array_deleteElem _ _ = retConstError undef 252 252 253 evalPerl5Sub :: String -> [PerlSV] -> Eval Val 254 evalPerl5Sub code args = do 255 env <- ask 256 fmap PerlSV . liftIO $ do 257 envSV <- mkVal env 258 subSV <- evalPerl5 code envSV (enumCxt cxtItemAny) 259 callPerl5 subSV nullSV args envSV (enumCxt cxtItemAny) 260 253 261 instance ArrayClass PerlSV where 254 262 array_iType = const $ mkType "Array::Perl" 255 array_fetchVal _ _ = return undef 256 array_storeVal _ _ _ = retConstError undef 263 array_fetchVal sv idx = do 264 idxSV <- fromVal $ castV idx 265 evalPerl5Sub "sub { $_[0]->[$_[1]] }" [sv, idxSV] 266 array_storeVal sv idx val = do 267 idxSV <- fromVal $ castV idx 268 valSV <- fromVal val 269 evalPerl5Sub "sub { $_[0]->[$_[1]] = $_[2] }" [sv, idxSV, valSV] 270 return () 257 271 array_storeElem _ _ _ = retConstError undef 258 272 array_deleteElem _ _ = retConstError undef
