簡體   English   中英

“串行”有什么作用?

[英]What does ‘serial’ do?

文檔中說,

Returns the self-reference to the instance itself:
    my $b; # defaults to Any 
    say $b.serial.^name;   # OUTPUT: «Any␤» 
    my $breakfast = 'food';
    $breakfast.serial.say; # OUTPUT: «food␤» 

我不知道這個例程是做什么的,請有人解釋一下嗎?

Supply ,它是一種信息方法,應該指示該 Supply 上是否永遠不會有任何並發emit

HyperSeqRaceSeq ,它返回一個序列化的Seq ,那么你可以考慮它的對面hyperrace方法。

總的來說,它似乎返回了自己,從HyperSeqRaceSeq角度來看,這似乎是有道理的。

是的,這些應該正確記錄,所以請創建一個文檔問題。 謝謝!

在 doc 示例中,它什么都不做。 也就是說,如果你刪除它,你會得到相同的結果:

my $b; # defaults to Any 
say $b.^name;   # OUTPUT: «Any␤» 
my $breakfast = 'food';
$breakfast.say; # OUTPUT: «food␤» 

更一般地說,如果您想改進文檔,我認為您最好忽略serial方法,而不是打開指向此 SO 的文檔問題。

serial方法似乎不是官方語言

搜索“串行”的烘焙回購產生零匹配。

在 Rakudo 源代碼中,方法名稱serial已被重載為具有以下三種含義之一:

  • 一個布爾值,聲明一個Supply序列是否總是串行的。 Rakudo 源示例: 1 , 2 在我看來,這就像一個不需要記錄的內部方法。

  • 將並行序列( hyperRace )強制轉換為相同序列的串行版本。 在我看來,這就像一個不需要記錄的內部方法。

  • 返回其調用者的“無操作” 我懷疑最好不要將其記錄在案,至少在其存在理由明確之前; 它的官方地位即規范(烤)是明確的; 和/或嘗試系統地記錄哪些操作設置了is nodal

以上似乎都不能保證普通用戶的注意或文檔。

serial方法的Any類定義似乎毫無意義

Anyserial方法返回self ,即在調用時它是一個無操作。

我目前不明白為什么有Any類定義。

一個可能的觀點是,內部代碼對未知且通常不可知的類的實例進行了.serial調用,因此需要在Any類中對serial進行默認定義。

但是在 rakudo 存儲庫中搜索“.serial”表明只調用了補給或 hyper/race seqs。

也就是說,我注意到Anyproto serial聲明的is nodal特性,它緊跟在multi method serial聲明之前。 也許這就是它在Any的原因。

另請參閱MuAny方法的任意漂移

您引用的文檔似乎毫無意義

定義和例子似乎反映了某人的幽默感。 我贊賞幽默的使用,但在這種情況下,我懷疑最好的改進是刪除您鏈接的頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM