




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1.函數(shù)概述幾個概念的說明在學(xué)習(xí)Scala中將方法、函數(shù)、函數(shù)式編程和面向?qū)ο缶幊堂鞔_一下:1.在scala中,方法和函數(shù)幾乎可以等同(比如他們的定義、使用、運行機制都一樣的),只是函數(shù)的使用方式更加的靈活多樣。函數(shù)式編程介紹2.函數(shù)式編程是從編程方式(范式)的角度來談的,可以這樣理解:函數(shù)式編程把函數(shù)當(dāng)做一等公民,支持的函數(shù)的多種使用方式。
比如:在Scala當(dāng)中,函數(shù)是一等公民,像變量一樣,既可以作為函數(shù)的參數(shù)使用,也可以將函數(shù)賦值給一個變量.,函數(shù)的創(chuàng)建不用依賴于類或者對象,而在Java當(dāng)中,函數(shù)的創(chuàng)建則要依賴于類、抽象類或者接口。3.面向?qū)ο缶幊淌且詫ο鬄榛A(chǔ)的編程方式。4.在scala中函數(shù)式編程和面向?qū)ο缶幊倘诤显谝黄鹆?。函?shù)式編程介紹"函數(shù)式編程"是一種"編程范式"(programmingparadigm)。它屬于"結(jié)構(gòu)化編程"的一種,主要思想是把運算過程盡量寫成一系列嵌套的函數(shù)調(diào)用。函數(shù)式編程中,將函數(shù)也當(dāng)做數(shù)據(jù)類型,因此可以接受函數(shù)當(dāng)作輸入(參數(shù))和輸出(返回值)。函數(shù)式編程中,最重要的就是函數(shù)。函數(shù)式編程介紹為完成某一功能的程序指令(語句)的集合,稱為函數(shù)。函數(shù)狹義的定義基本語法def函數(shù)名([參數(shù)名:參數(shù)類型],...)[[:返回值類型]
=]
{
語句...
return返回值}函數(shù)的格式函數(shù)聲明關(guān)鍵字為def
(definition)[參數(shù)名:參數(shù)類型],...:表示函數(shù)的輸入(就是參數(shù)列表),可以沒有。
如果有,多個參數(shù)使用逗號間隔函數(shù)中的語句:表示為了實現(xiàn)某一功能代碼塊函數(shù)可以有返回值,也可以沒有如果沒有return,默認以執(zhí)行到最后一行的結(jié)果作為返回值函數(shù)的格式函數(shù)-調(diào)用過程在Scala中,函數(shù)的調(diào)用過程非常簡單。要調(diào)用一個函數(shù),只需使用函數(shù)名和實際參數(shù)列表,并用圓括號括起來。為了讓大家更好的理解函數(shù)調(diào)用機制,比如一下例子,getSum計算兩個數(shù)的和,并返回結(jié)果。
objectTest01{defmain(args:Array[String]):Unit={valn1=1valn2=3valres=getSum(n1,n2)println("res="+res)}defgetSum(n1:Int,n2:Int):Int={returnn1+n2}}函數(shù)-調(diào)用機制2.函數(shù)細節(jié)和注意事項1.函數(shù)的形參列表可以是多個,如果函數(shù)沒有形參,調(diào)用時可以不帶()2.形參列表和返回值列表的數(shù)據(jù)類型可以是值類型和引用類型。3.Scala中的函數(shù)可以根據(jù)函數(shù)體最后一行代碼自行推斷函數(shù)返回值類型。那么在這種情況下,return關(guān)鍵字可以省略3.defgetSum(n1:Int,n2:Int):Int={n1+n2}4.defgetSum(n1:Int,n2:Int)={n1+n2}函數(shù)注意事項和細節(jié)討論4.因為Scala可以自行推斷,所以在省略return關(guān)鍵字的場合,返回值類型也可以省略5.如果函數(shù)明確使用return關(guān)鍵字,那么函數(shù)返回就不能使用自行推斷了,這時要明確寫成:返回類型=,當(dāng)然如果你什么都不寫,即使有return返回值為()defgetSum(n1:Int,n2:Int):Int={//因為這里有明確的return,這時getSum就不能省略:Int=的Int了
returnn1+n2}函數(shù)注意事項和細節(jié)討論6.如果函數(shù)明確聲明無返回值(聲明Unit),那么函數(shù)體中即使使用return關(guān)鍵字也不會有返回值7.如果明確函數(shù)無返回值或不確定返回值類型,那么返回值類型可以省略(或聲明為Any)8.Scala語法中任何的語法結(jié)構(gòu)都可以嵌套其他語法結(jié)構(gòu)(靈活),即:函數(shù)中可以再聲明/定義函數(shù),類中可以再聲明類,方法中可以再聲明/定義方法函數(shù)注意事項和細節(jié)討論9.Scala函數(shù)的形參,在聲明參數(shù)時,直接賦初始值(默認值),這時調(diào)用函數(shù)時,如果沒有指定實參,則會使用默認值。如果指定了實參,則實參會覆蓋默認值。objectHello01{defmain(args:Array[String]):Unit={println(sayOk())println(sayOk("venassa"))//覆蓋默認值
}defsayOk(name:String="jack"):String={returnname+"ok!"}}函數(shù)注意事項和細節(jié)討論10.如果函數(shù)存在多個參數(shù),每一個參數(shù)都可以設(shè)定默認值,那么這個時候,傳遞的參數(shù)到底是覆蓋默認值,還是賦值給沒有默認值的參數(shù),就不確定了(默認按照聲明順序[從左到右])。在這種情況下,可以采用帶名參數(shù)。通過指定參數(shù)的名字,我們可以明確指出要為哪個參數(shù)賦值,而不必遵循參數(shù)的聲明順序。例如:defformatName(first:String="John",last:String="Doe")=s"$first$last"println(formatName(last="Smith",first="Jane"))函數(shù)注意事項和細節(jié)討論11.Scala函數(shù)的形參默認是val的,因此不能在函數(shù)中進行修改。deftest(n:Int):Unit={n=n+1
//編譯錯誤(×)Reassignmenttoval}函數(shù)注意事項和細節(jié)討論12.遞歸函數(shù)未執(zhí)行之前是無法推斷出來結(jié)果類型,在使用時必須有明確的返回值類型13.Scala函數(shù)支持可變參數(shù)說明:args是集合,通過for循環(huán)
可以訪問到各個值??勺儏?shù)需要寫在形參列表的最后。//支持0到多個參數(shù)defsum(args:Int*):Int={}//支持1到多個參數(shù)defsum(n1:Int,args:Int*):Int={}函數(shù)注意事項和細節(jié)討論3.遞歸函數(shù)定義:遞歸是指在一個函數(shù)的定義中直接或間接地調(diào)用該函數(shù)本身的行為。這種自我引用的能力讓遞歸成為解決某些類型問題的理想選擇,如樹形結(jié)構(gòu)遍歷、數(shù)學(xué)運算(如階乘、斐波那契數(shù)列)等。遞歸的基本要素:基準情況(BaseCase):必須有一個或多個條件可以終止遞歸調(diào)用,否則會導(dǎo)致無限遞歸。遞歸步驟(RecursiveStep):每次遞歸調(diào)用都應(yīng)使問題規(guī)模減小,逐漸接近基準情況。1.什么是遞歸?在Scala中,定義遞歸函數(shù)的方式與其他函數(shù)相似,但有一個重要區(qū)別:當(dāng)函數(shù)是遞歸的時,必須顯式聲明返回值類型。這是因為編譯器無法在編譯前預(yù)測遞歸調(diào)用的結(jié)果類型。//定義一個計算階乘的遞歸函數(shù)deffactorial(n:Int):Int={if(n<=1)1//基準情況elsen*factorial(n-1)//遞歸步驟}上述factorial函數(shù)接受一個整數(shù)參數(shù)n,并根據(jù)n的值決定是返回1還是繼續(xù)遞歸調(diào)用自身。注意,這里我們明確指定了返回值類型為Int。2.Scala中的遞歸函數(shù)讓我們來看幾個使用遞歸函數(shù)的實際例子,以便更清楚地理解它們的工作原理。3.1計算階乘階乘是一個經(jīng)典的遞歸案例。給定一個非負整數(shù)n,它的階乘表示為n!,定義為所有小于等于n的正整數(shù)的乘積。對于0和1,階乘定義為1。deffactorial(n:Int):Int={if(n==0||n==1)1elsen*factorial(n-1)}3.遞歸函數(shù)的例子3.2斐波那契數(shù)列斐波那契數(shù)列是以意大利數(shù)學(xué)家萊昂納多·斐波那契命名的一系列數(shù)字,其中每個數(shù)字是前兩個數(shù)字之和。序列從0和1開始,即0,1,1,2,3,5,8,13...deffibonacci(n:Int):Int={if(n<=1)nelsefibonacci(n-1)+fibonacci(n-2)}
println(fibonacci(7))//輸出:133.遞歸函數(shù)的例子在Scala中,尾遞歸是一種特殊的遞歸形式,它可以被編譯器優(yōu)化成循環(huán),從而避免棧溢出的風(fēng)險。為了使一個遞歸函數(shù)被認為是尾遞歸,遞歸調(diào)用必須是函數(shù)體中的最后一個操作。//使用@tailrec注解確保編譯器檢查尾遞歸importscala.annotation.tailrec
deffactorialTailRec(n:Int,acc:Int=1):Int={if(n==0)accelsefactorialTailRec(n-1,n*acc)}在這個版本的factorialTailRec函數(shù)中,我們引入了一個額外的參數(shù)acc作為累加器,用來累積中間結(jié)果。由于遞歸調(diào)用是函數(shù)體的最后一行,因此它可以被優(yōu)化成迭代。4.尾遞歸優(yōu)化通過本節(jié)課,我們了解了Scala中遞歸函數(shù)的概念及其應(yīng)用。遞歸為我們提供了一種優(yōu)雅的方法來解決那些可以通過分治法簡化的問題。同時,我們也學(xué)習(xí)了如何利用尾遞歸優(yōu)化來提高性能,并防止?jié)撛诘臈R绯鰡栴}。5.總結(jié)4.高階函數(shù)在Scala中,高階函數(shù)(Higher-orderFunction,HOF)是指可以:接收函數(shù)作為參數(shù),或者返回一個函數(shù)。這意味著高階函數(shù)的參數(shù)或返回值可以是其他函數(shù),使得函數(shù)的靈活性和表達能力得到增強。1.高階函數(shù)的定義Scala支持一等函數(shù),即函數(shù)可以作為值來傳遞。這使得函數(shù)不僅僅是代碼的執(zhí)行指令,還可以作為數(shù)據(jù)在程序中流動。高階函數(shù)通常具有以下兩個特性:函數(shù)作為參數(shù):高階函數(shù)接收另一個函數(shù)作為參數(shù),來對數(shù)據(jù)進行處理或轉(zhuǎn)換。函數(shù)作為返回值:高階函數(shù)返回一個函數(shù),可以創(chuàng)建新的函數(shù)并返回,甚至基于運行時的情況動態(tài)創(chuàng)建函數(shù)。2.高階函數(shù)的基本特性3.1函數(shù)作為參數(shù)一個常見的高階函數(shù)是map。map方法接收一個函數(shù)作為參數(shù),并對集合中的每個元素應(yīng)用該函數(shù),返回新的集合。
代碼說明:1.numbers.map(x=>x*x):這里,map方法接收了一個匿名函數(shù)x=>x*x作為參數(shù),這個函數(shù)對每個元素進行平方操作。2.map函數(shù)返回一個新的集合,其中每個元素都是原集合元素的平方。objectHigherOrderFunctionExample{defmain(args:Array[String]):Unit={valnumbers=List(1,2,3,4,5)//map函數(shù)接收一個函數(shù)參數(shù),返回新集合valsquaredNumbers=numbers.map(x=>x*x)println(squaredNumbers)//輸出:List(1,4,9,16,25)}}3.高階函數(shù)的示例3.2函數(shù)作為返回值高階函數(shù)還可以返回函數(shù)。以下示例展示了如何創(chuàng)建一個返回函數(shù)的函數(shù):objectHigherOrderFunctionReturnExample{defmultiplyBy(factor:Int):Int=>Int={//返回一個新的函數(shù)(x:Int)=>x*factor}
defmain(args:Array[String]):Unit={valmultiplyByTwo=multiplyBy(2)//創(chuàng)建一個返回乘以2的函數(shù)valmultiplyByThree=multiplyBy(3)//創(chuàng)建一個返回乘以3的函數(shù)
println(multiplyByTwo(5))//輸出:10println(multiplyByThree(5))//輸出:15}}代碼說明:1.multiplyBy(factor:Int)是一個高階函數(shù),它返回一個新的函數(shù)(x:Int)=>x*factor,該函數(shù)將輸入的x乘以factor。2.在main方法中,通過multiplyBy(2)和multiplyBy(3)創(chuàng)建了兩個不同的函數(shù)multiplyByTwo和multiplyByThree,分別用于將輸入數(shù)乘以2和3。3.高階函數(shù)的示例在Scala的標準庫中,很多方法都可以看作是高階函數(shù),特別是在集合操作中。以下是幾個常見的高階函數(shù):4.1filterfilter方法接收一個函數(shù)(通常是一個判斷條件)作為參數(shù),返回一個新的集合,包含那些滿足條件的元素。valnumbers=List(1,2,3,4,5,6)valevenNumbers=numbers.filter(x=>x%2==0)println(evenNumbers)//輸出:List(2,4,6)4.常見的高階函數(shù)4.2reducereduce方法接收一個二元操作函數(shù)(通常是一個合并函數(shù)),通過將函數(shù)應(yīng)用于集合中的所有元素,最終返回一個單一的結(jié)果。valnumbers=List(1,2,3,4,5)valsumWithInitialValue=numbers.fold(10)((x,y)=>x+y)println(sumWithInitialValue)//輸出:254.常見的高階函數(shù)高階函數(shù)在實際應(yīng)用中非常有用,尤其在以下場景中表現(xiàn)得尤為突出:集合處理:如map、filter、reduce、fold等函數(shù)可以使得集合操作更加簡潔、優(yōu)雅。函數(shù)式編程:Scala是支持函數(shù)式編程的語言,高階函數(shù)使得函數(shù)式編程風(fēng)格更加自然和靈活。回調(diào)函數(shù):許多API和框架使用高階函數(shù)來實現(xiàn)回調(diào)機制。例如,處理異步任務(wù)時,我們常常會傳入一個回調(diào)函數(shù)。動態(tài)函數(shù)生成:通過高階函數(shù),可以動態(tài)地創(chuàng)建特定的計算邏輯,提供更高的抽象和靈活性。5.高階函數(shù)的應(yīng)用場景高階函數(shù)是Scala的一個重要特性,它允許函數(shù)作為參數(shù)傳遞,也可以返回函數(shù)。通過高階函數(shù),開發(fā)者可以寫出更簡潔、模塊化和高效的代碼。理解并掌握高階函數(shù)的使用,對深入學(xué)習(xí)Scala及函數(shù)式編程至關(guān)重要。通過上面的示例,我們了解了如何在Scala中使用高階函數(shù)進行集合操作、動態(tài)函數(shù)生成等。Scala的高階函數(shù)使得代碼更加簡潔且表達能力強大,尤其在函數(shù)式編程中發(fā)揮了巨大的作用。6.小結(jié)5.匿名函數(shù)匿名函數(shù)(AnonymousFunction),也稱為Lambda函數(shù),是一種沒有名稱的函數(shù)。它通常用于簡化代碼,尤其是在需要傳遞函數(shù)作為參數(shù)的場景中。Scala中匿名函數(shù)的基本形式如下:(parameters)=>expression?parameters:函數(shù)的輸入?yún)?shù)。?=>:分隔符,表示函數(shù)參數(shù)與函數(shù)體之間的關(guān)系。?expression:函數(shù)體,表示計算結(jié)果。1.匿名函數(shù)的定義?簡潔性:匿名函數(shù)無需定義顯式的函數(shù)名,常用于簡短的邏輯。?可傳遞性:匿名函數(shù)可以作為參數(shù)傳遞給其他函數(shù),使得代碼更具靈活性。?函數(shù)式編程:匿名函數(shù)是函數(shù)式編程中的一種重要工具,常用于高階函數(shù)和集合操作中。2.匿名函數(shù)的特點3.1示例:簡單的匿名函數(shù)匿名函數(shù)的基本語法格式如下:(parameters)=>expressionobjectAnonymousFunctionExample{defmain(args:Array[String]):Unit={valadd=(x:Int,y:Int)=>x+y//定義一個匿名加法函數(shù)println(add(5,3))//輸出:8}}代碼說明:1.(x:Int,y:Int)=>x+y:這行代碼定義了一個接受兩個Int類型參數(shù)并返回它們和的匿名函數(shù)。2.valadd=:將該匿名函數(shù)賦值給一個變量add,并通過add(5,3)調(diào)用它,計算并輸出5+3=8。3.匿名函數(shù)的基本語法4.1用作集合操作中的函數(shù)匿名函數(shù)經(jīng)常與集合操作(如map、filter、reduce等)一起使用。Scala提供了許多高階函數(shù),這些函數(shù)通常接收匿名函數(shù)作為參數(shù)。valnumbers=List(1,2,3,4,5)valsquaredNumbers=numbers.map(x=>x*x)//使用匿名函數(shù)進行平方操作println(squaredNumbers)//輸出:List(1,4,9,16,25)代碼說明:1.numbers.map(x=>x*x):對numbers列表中的每個元素應(yīng)用匿名函數(shù)x=>x*x,即將每個元素平方。2.返回一個新列表List(1,4,9,16,25)。4.匿名函數(shù)的常見用途4.2用作filter函數(shù)filter函數(shù)用于篩選集合中符合條件的元素,匿名函數(shù)可以用來定義篩選條件。valnumbers=List(1,2,3,4,5,6)valevenNumbers=numbers.filter(x=>x%2==0)//使用匿名函數(shù)篩選偶數(shù)println(evenNumbers)//輸出:List(2,4,6)代碼說明:1.numbers.filter(x=>x%2==0):使用匿名函數(shù)x=>x%2==0來篩選出偶數(shù)。2.返回一個新列表List(2,4,6)。4.匿名函數(shù)的常見用途4.3用作reduce函數(shù)reduce函數(shù)用于將集合中的元素通過某種方式合并,通常接收一個二元操作函數(shù)。我們也可以使用匿名函數(shù)作為操作符。代碼說明:1.numbers.reduce((x,y)=>x+y):使用匿名函數(shù)(x,y)=>x+y將列表中的所有元素相加。2.返回結(jié)果15,即1+2+3+4+5=15。valnumbers=List(1,2,3,4,5)valsum=numbers.reduce((x,y)=>x+y)//使用匿名函數(shù)進行加法操作println(sum)//輸出:154.匿名函數(shù)的常見用途在Scala中,匿名函數(shù)的參數(shù)類型通??梢杂删幾g器推導(dǎo)出來,這使得匿名函數(shù)的書寫更加簡潔。5.1示例:類型推導(dǎo)valmultiply=(x:Int,y:Int)=>x*y//類型可以被推導(dǎo)println(multiply(3,4))//輸出:125.類型推導(dǎo)與簡化5.2示例:簡化的匿名函數(shù)如果匿名函數(shù)的參數(shù)類型和返回類型是清晰的,甚至可以省略類型聲明。valadd=(x:Int,y:Int)=>x+y//完整的聲明valsubtract=(_:Int,_:Int)=>0//也可以省略參數(shù)名稱代碼說明:?在第二個例子中,(_:Int,_:Int)表示忽略參數(shù)名稱,只提供參數(shù)類型,適用于簡單的占位符。5.類型推導(dǎo)與簡化匿名函數(shù)是Scala語言中非常有用的特性之一。通過匿名函數(shù),我們可以更加簡潔地編寫代碼,尤其在傳遞函數(shù)作為參數(shù)時,它極大地提升了代碼的靈活性和可讀性。匿名函數(shù)廣泛應(yīng)用于高階函數(shù)、集合操作、回調(diào)函數(shù)等場景,是函數(shù)式編程的重要組成部分。以上就是關(guān)于Scala匿名函數(shù)的基礎(chǔ)要點。匿名函數(shù)不僅讓代碼更加簡潔,也為函數(shù)式編程提供了強大的支持。在實際開發(fā)中,掌握匿名函數(shù)的使用方法將幫助你更好地處理函數(shù)作為參數(shù)傳遞、集合操作以及動態(tài)生成函數(shù)等問題。6.小結(jié)6.列表Scala提供了多種集合類型來處理一系列元素,其中List和ListBuffer是兩種常見的列表實現(xiàn)。List是一個不可變的鏈表結(jié)構(gòu),而ListBuffer則是一個可變的緩沖區(qū),允許在運行時動態(tài)地添加或移除元素。本文將詳細介紹這兩種列表的基礎(chǔ)概念、主要區(qū)別以及常用的操作方法,并通過代碼示例幫助理解。List是Scala中最常用的不可變集合之一,它是一個有序集合,可以存儲多個相同類型的元素。List在Scala中屬于不可變集合,這意味著一旦創(chuàng)建就不能修改,而是通過返回新的列表來進行變更。1.
List1.1List的定義與創(chuàng)建在Scala中,List可以通過伴生對象的apply方法創(chuàng)建,支持直接傳遞元素進行初始化。1.
ListobjectListExample{defmain(args:Array[String]):Unit={//創(chuàng)建一個包含元素的Listvallist=List(1,2,3,4,5)
//創(chuàng)建一個空ListvalemptyList=List.empty[Int]
//訪問List的元素println(list(0))//輸出:1
//遍歷Listlist.foreach(println)//逐行輸出1,2,3,4,5}}代碼說明:1.List(1,2,3,4,5)創(chuàng)建了一個包含5個元素的整數(shù)列表。2.List.empty[Int]創(chuàng)建了一個空的整數(shù)列表。3.list(0)訪問列表中的第一個元素,foreach方法遍歷列表,逐個打印元素。1.2List的常見操作objectListOperations{defmain(args:Array[String]):Unit={vallist=List(1,2,3,4,5)
//取出頭元素和尾元素println(list.head)//輸出:1println(list.tail)//輸出:List(2,3,4,5)
//拼接列表valnewList=list:+6//在末尾添加元素println(newList)//輸出:List(1,2,3,4,5,6)
valprependedList=0+:list//在頭部添加元素println(prependedList)//輸出:List(0,1,2,3,4,5)
//反轉(zhuǎn)列表println(list.reverse)//輸出:List(5,4,3,2,1)
//映射操作valsquaredList=list.map(x=>x*x)println(squaredList)//輸出:List(1,4,9,16,25)}}代碼說明:1.head方法返回列表的第一個元素,tail返回除第一個元素外的所有元素。2.:+在列表末尾添加元素,+:在列表頭部添加元素。3.reverse反轉(zhuǎn)列表。4.map對列表中的每個元素進行映射操作。1.
ListListBuffer是Scala集合庫中的可變列表,位于scala.collection.mutable包中。與List不同,ListBuffer可以動態(tài)修改元素,支持添加和刪除操作。ListBuffer在修改后不會返回新的列表,而是直接修改原列表。2.1ListBuffer的定義與創(chuàng)建在使用ListBuffer前,需要導(dǎo)入scala.collection.mutable.ListBuffer。2.可變列表(ListBuffer)importscala.collection.mutable.ListBufferobjectListBufferExample{defmain(args:Array[String]):Unit={//創(chuàng)建一個ListBuffervalbuffer=ListBuffer(1,2,3,4,5)
//添加元素buffer+=6println(buffer)//輸出:ListBuffer(1,2,3,4,5,6)
//刪除元素buffer-=2println(buffer)//輸出:ListBuffer(1,3,4,5,6)
//訪問元素println(buffer(0))//輸出:1}}代碼說明:1.ListBuffer(1,2,3,4,5)創(chuàng)建了一個包含5個元素的可變列表。2.+=用于在列表末尾添加元素,-=刪除指定元素。3.通過索引訪問元素,如buffer(0)訪問第一個元素。2.可變列表(ListBuffer)2.2ListBuffer的常見操作importscala.collection.mutable.ListBuffer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)員計算機考試全真試題及答案
- 高考數(shù)學(xué)知識技能對比研究試題及答案
- 企業(yè)戰(zhàn)略實施的關(guān)鍵技能試題及答案
- 軟件技術(shù)員考試成敗關(guān)鍵解讀試題及答案
- 行政法學(xué)多元化視野試題及答案
- 企業(yè)財務(wù)戰(zhàn)略與其風(fēng)險管理架構(gòu)試題及答案
- 多元化經(jīng)營的實施方案計劃
- VB考試必背知識點的試題及答案
- 湖南省2025年第一次集中招聘考試筆試歷年典型考題及考點剖析附帶答案詳解
- 社團交流活動的組織計劃
- GB/T 11032-2020交流無間隙金屬氧化物避雷器
- 初三中考古詩文理解性默寫題
- 三年級數(shù)學(xué)《認識分數(shù)》
- 深度解剖華為虛擬股權(quán)激勵方案最全版含持股比例
- 醫(yī)學(xué)康復(fù)治療技術(shù)作業(yè)治療課件
- 兒科品管圈成果匯報提高手腕帶佩戴率課件
- 住院患者健康教育計劃執(zhí)行單
- 中考歷史 (世界現(xiàn)代史)
- 容重器測量結(jié)果的不確定度評定
- 用戶滿意度調(diào)查表(產(chǎn)品與服務(wù)類)
- 小學(xué)英語自然拼讀課件
評論
0/150
提交評論