在线观看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

    文章

    1838

    瀏覽量

    32269
  • 代碼
    +關注

    關注

    30

    文章

    4791

    瀏覽量

    68699
  • 編譯
    +關注

    關注

    0

    文章

    659

    瀏覽量

    32895
收藏 人收藏

    評論

    相關推薦

    PID參數的意義與整定方法

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

    求移動電源的測試參數及測試方法

    如題,求移動電源的測試參數及測試方法
    發表于 05-16 14:35

    極大似然參數辨識方法

    極大似然參數辨識方法.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 ?3003次閱讀

    PID參數的確定方法

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

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

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

    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>
    主站蜘蛛池模板: 国产美女流出白浆在线观看| 爱爱永久免费视频网站| 亚洲精品成人久久久影院| 狠狠色婷婷七月色综合| 美女张开腿让男生桶出水| 深夜动态福利gif进出粗暴| 男女交性视频免费视频| 最新地址四虎www4hutv| 亚洲成人一级片| 日本三级成人午夜视频网| 狼人激情网| www天堂在线| 天天黄色| 4455vw亚洲毛片| 午夜爽视频| 五月.com| 久久综合丁香| 亚洲偷自偷白图片| 国产综合在线播放| 亚洲a视频| 午夜免费免费啪视频观看| 欧美色综合网站| 高黄视频| 欧美成人影院免费观| 欧美伦理一区| 最新人妖shemaletube人妖| 色欧美在线视频| 国产特级毛片aaaaaa毛片| 午夜免费视频网站| 1024手机看片你懂得的 日韩欧美| 亚a在线| 天堂网在线最新版官网| 久久久免费网站| 天天综合网色| 黄网页在线观看| 亚洲成在人线影视天堂网| 欧美成人天天综合在线视色| www日本黄色| 国产福利2021最新在线观看| 男男浪荡性受高hnp肉| 色偷偷91久久综合噜噜噜|