2017-05-30 12 views
4

問題: 是否存在/什麼是Powershells get-member的Perl6對應物來「分析」變量的屬性?powershells get-member是否有一個perl6對象來「分析」一個變量(-object)?

說明: 在Perl 6中你可以得到一個變量的性能/特性,如:

my $num=16.03; 
say $num.numerator; # output: 1603 
say $num.denominator; # output: 100 
say $num.nude;  # output: (1603 100) 
say $num.WHAT;  # output: (Rat) 

我怎樣才能找到答案,哪些屬性/屬性(分子等)和方法/函數(什麼)一個變量有?
在Powershell中,我將管道變量設置爲get-member,如: $num | get-member並且會顯示所有屬性和功能。

+0

如果您發現它令人討厭或困惑,請忘記此評論。下面的例子和@Curtrt的答案是「分析」*值*的屬性。 P6是做你的意思,而不是狡猾的價值vs變量,但我是一個狡猾的人。 '我的$ num = 16.03;說「$ num.WHAT;說$ num.VAR.WHAT'顯示'(Rat)\ n(標量)',因爲'16.03'是一個'Rat'值,它保存在一個綁定到'Scalar'的變量上,如果它沒有幫助,請忘掉這個評論,因爲P6只是做你的意思,而不是像我一樣嬉戲,大多數人都不需要反思變量的屬性:) – raiph

回答

6

最好的方法是諮詢任何類型的文檔.WHAT告訴你,例如, https://docs.perl6.org/type/RatRat

如果您必須以編程方式擁有它,您可以通過.^methods詢問對象的方法。

> my $num = 16.03 
16.03 
> $num.^methods 
(Rat FatRat Range atanh Bridge sign sqrt asech sin tan atan2 acosech truncate 
asinh narrow base floor abs conj acosh pred new asec cosec acotan cosh ceiling 
nude acos acosec sech unpolar log exp roots cotan norm sinh tanh acotanh Int 
Num Real sec asin rand polymod log10 cos round REDUCE-ME succ base-repeating 
cis cosech isNaN Complex cotanh atan perl WHICH Str ACCEPTS gist Bool Numeric 
DUMP numerator denominator) 

你同樣可以看到屬性(「屬性」)與.^attributes,但任何你應該訪問將有存取方法,所以你應該不是真的需要做到這一點。

相關問題