在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Classes -方法參數

科技綠洲 ? 來源:技術理科直男 ? 作者:技術理科直男 ? 2023-09-20 14:27 ? 次閱讀

方法參數

方法可以在逗號分隔的列表中接受位置參數。對于每個參數,可以指定類型和默認值。

例如,下面是一個接受三個參數的方法的部分定義。這對IRIS類中的ObjectScriptPython方法都是有效的語法:

Method Calculate(count As %Integer, name, state As %String = "CA") as %Numeric
{
    // ...
}

注意,其中兩個參數具有顯式類型,一個參數具有默認值。通常,顯式指定每個參數的類型是個好主意。

注意:如果一個方法是在Python中定義的,并且有任何帶有默認值的參數,那么這些參數必須位于參數列表的末尾,以避免編譯錯誤。

跳過參數

調用方法時,如果有合適的默認值,可以跳過參數。ObjectScriptPython都有自己的語法來跳過參數。

在ObjectScript中,可以通過不為參數提供值并保持逗號結構來跳過該參數。例如:

set myval=##class(mypackage.myclass).GetValue(,,,,,,4)

IRIS類中,Python方法的簽名必須首先列出所需的參數,然后是具有默認值的任何參數。

調用方法時,必須按照方法簽名的順序提供參數。因此,一旦你跳過了一個參數,你也必須跳過它后面的所有參數。例如:

ClassMethod Skip(a1, a2 As %Integer = 2, a3 As %Integer = 3) [ Language = python ]
{
    print(a1, a2, a3)
}
TESTNAMESPACE >do ##class(mypackage.myclass).Skip(1)
1 2 3

通過值或引用傳遞變量

當調用一個方法時,可以通過值或引用將變量的值傳遞給該方法。

方法的簽名通常表明是否打算通過引用傳遞參數。例如:

Method MyMethod(argument1, ByRef argument2, Output argument3)

ByRef關鍵字指示應該通過引用傳遞此參數。Output關鍵字指示應該通過引用傳遞此參數,并且該方法忽略最初給此參數的任何值。

類似地,當定義一個方法時,可以在方法簽名中使用ByRefOutput關鍵字來通知其他用戶該方法的使用方式。

要在ObjectScript中通過引用傳遞參數,請在調用方法時在變量名之前放置一個句號。在Python中,對要傳遞的值使用iris.ref(),并在引用上調用該方法。這兩個都顯示在下面的例子中:

Do MyMethod(arg1, .arg2, .arg3)
arg2=iris.ref("peanut butter")
arg3=iris.ref("jelly")
MyMethod(arg1,arg2,arg3)

重要信息:ByRefOutput 關鍵字提供的信息對于使用 類引用的任何人都有利。它們不影響代碼的行為。方法的編寫者有責任強制執行有關如何調用該方法的任何規則。

可變數量的參數

可以定義一個方法,使其接受可變數量的參數。例如:

ClassMethod MultiArg(Arg1... As %List) [ Language = objectscript ]
{
 Set args = $GET(Arg1, 0)
 Write "Invocation has ",
     args,
     " element",
     $SELECT((args=1):"", 1:"s"), !
 For i = 1 : 1 : args
 {
     Write "Argument[", i , "]: ", $GET(Arg1(i), "< NULL >"), !
 }
}
ClassMethod MultiArg(Arg1... As %List) [ Language = Python ]
{
    print("Invocation has", len(Arg1), "elements")
    for i in range(len(Arg1)):
        print("Argument[" + str(i+1) + "]: " + Arg1[i])
}

指定默認值

要在 ObjectScriptPython 方法中指定參數的默認值,請使用以下示例中所示的語法:

Method Test(flag As %Integer = 0)
{
 //method details
}

調用方法時,它會對任何缺少的參數使用其默認值(如果指定)。如果方法是用 Python 編寫的,則任何具有默認值的參數都必須在參數列表的末尾定義。

ObjectScript 中,另一個選項是使用 $GET 函數設置默認值。例如:

Method Test(flag As %Integer)
{
  set flag=$GET(flag,0)
 //method details
}

但是,這種技術不會影響類簽名。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 參數
    +關注

    關注

    11

    文章

    1865

    瀏覽量

    32725
  • 代碼
    +關注

    關注

    30

    文章

    4871

    瀏覽量

    69906
  • 編譯
    +關注

    關注

    0

    文章

    672

    瀏覽量

    33460
收藏 人收藏

    評論

    相關推薦

    PID參數的意義與整定方法

    PID參數的意義與整定方法資料
    發表于 07-31 09:17

    極大似然參數辨識方法

    極大似然參數辨識方法.ppt
    發表于 08-13 15:51

    最小二乘參數辨識方法及原理

    最小二乘參數辨識方法及原理.ppt
    發表于 08-13 15:54

    AD解決ADD Component Classes出錯的解決方法

    解決ADD Component Classes出錯的問題。提示是Failed to add class member:xxx 和 Unknown Pin
    發表于 07-05 08:30

    Altium解決Failed to add class member 問題的方法

    我們設計時,在導入PCB時有時候會出現Failed to add class member 的錯誤提示;解決方法如下:1. 在PCB界面 design–classes; 2.Component Classes刪掉出現問題的
    發表于 10-08 14:04

    請問電機參數的含義及測量方法是什么?

    請問電機參數的含義及測量方法是什么?
    發表于 10-19 08:54

    PID參數的基本調試方法是什么?

    PID參數的基本調試方法是什么?
    發表于 11-15 07:01

    PID溫度控制參數整定的方法是什么

    PID溫度控制參數整定的方法是什么?
    發表于 11-22 06:13

    電阻的型號命名方法,分類,主要特性參數

    電阻的型號命名方法,分類,主要特性參數
    發表于 06-30 19:31 ?3326次閱讀

    PID參數的確定方法

    下面介紹的方法,包括著眼于使系統閉環極點落在希望的位置,依靠解析的方法確定PID參數;以及針對復雜的受控對象數學模型,借助于實驗的方法確定PID參數
    發表于 04-28 15:57 ?0次下載

    PID參數整定方法的研究

    PID參數整定方法的研究-2009,下來看看。
    發表于 03-31 17:01 ?20次下載

    永磁同步電機控制參數設計方法

    永磁同步電機控制參數設計方法_邱騰飛
    發表于 01-05 15:34 ?23次下載

    java方法參數傳遞簡析

    問:當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞? 答:是值傳遞。Java 編程語言只有值傳遞參數。當一個對
    發表于 09-27 17:03 ?0次下載
    java<b class='flag-5'>方法</b><b class='flag-5'>參數</b>傳遞簡析

    TVS參數及選型方法pdf下載

    TVS參數及選型方法
    發表于 01-24 16:43 ?35次下載

    參數域邊界平直化的模型表面參數方法

    為了支持簡化模型紋理邊界、滿足模型簡化中紋理映射需求,提出了一種參數域邊界平直化的模型表面參數方法。給出了由變換能量、防翻轉能量和稀疏能量組成的能量方程。求解時引λ輔助變量并求得近似解。實驗中分
    發表于 04-27 14:19 ?7次下載
    <b class='flag-5'>參數</b>域邊界平直化的模型表面<b class='flag-5'>參數</b>化<b class='flag-5'>方法</b>
    主站蜘蛛池模板: 特级黄视频 | 三及毛片 | 日本黄色大片在线播放视频免费观看 | 在线亚洲一区二区 | 亚洲阿v天堂2018在线观看 | 成年人看的毛片 | 欧美精彩狠狠色丁香婷婷 | 特级全黄一级毛片免费 | 亚洲天天看| 91免费在线视频 | 欧美午夜在线视频 | 乱高h辣黄文np公交车 | 午夜影视免费完整高清在线观看网站 | 一级片免费在线观看视频 | 羞羞色院91精品网站 | 日本免费黄色 | 操综合网| 五月婷婷精品 | 黄色激情小说视频 | 免费网站日本永久免费观看 | 4338×亚洲全国最大色成网站 | bt天堂网在线 | 久久六月丁香婷婷婷 | 国产激情三级 | 亚洲国产色婷婷精品综合在线观看 | 天堂bt在线网bt | 午夜爱爱小视频 | 久热福利 | 免费爱爱网| 濑亚美莉iptd619在线观看 | 日韩免费三级 | 国产色爽女小说免费看 | 三级在线免费观看 | 天天爽夜夜爽夜夜爽精品视频 | yy6080三级理论韩国日本 | 在线亚洲精品中文字幕美乳 | 日本高清免费aaaaa大片视频 | 神马午夜嘿嘿 | 久操精品在线观看 | 天天爽夜夜爽精品视频一 | 亚洲成人在线网 |