Piszę coś, aby uzyskać coś podobnego do JSON, ze struktury Perla. Chcę, powołując się zachowywać tak:Czy istnieje sposób na sprawdzenie, czy skalar został usztywniony, czy nie?
"string" outputs "string"
"05" outputs "05"
"5" outputs "5"
5 outputs 5
05 outputs 5, or 05 would be acceptable
JSON :: XS obsługuje to poprzez badanie, czy została skalarne „stringified”, czy nie, co moim zdaniem jest bardzo fajne. Ale nie mogę znaleźć sposobu na zrobienie tego testu samemu bez pisania XS, którego wolałbym uniknąć. czy to możliwe? Nie mogę tego znaleźć nigdzie na CPAN bez znalezienia ogromnej pedantry o Scalar :: Util :: looks_like_number, itp., Który zupełnie nie jest tym, czego chcę. Jedynym ograniczeniem, jakie mogę znaleźć, jest Devel :: Peek, który czuje się źle. A także, podobnie jak JSON :: XS, jestem zadowolony z tego secenario:
my $a = 5;
print $a."\n";
# now $a outputs "5" instead of 5)
Nie ma to nic wspólnego z typem SV. Ma to związek z flagą pPOK. – ikegami
Na przykład spójrz na 'my $ x =" "; x = 5; my $ y = 5; "". $ y; '. Oba są PVIV, ale tylko jeden jest "żylasty". – ikegami
Właśnie to zauważyłem. Byłoby miło, gdyby B rzeczywiście wymienił to, co dostarczył! Niestety wydaje się, że 'SvGETMAGIC' jest niedostępny. – ikegami