Swiftスクリプトを作成しようとしていますが、このエラーで立ち往生しました:
./1.Swift:10:11: error: use of instance member 'thisIsmyFunction' on type 'myScript'; did you mean to use a value of type 'myScript' instead?
myScript.thisIsmyFunction()
~~~~~~~~ ^
ここに私のコードがあります:
#!/usr/bin/Swift
import Foundation
class myScript {
func thisIsmyFunction() {
print("Do something in there!")
}
}
myScript.thisIsmyFunction()
私がやろうとしているのは、関数にアクセスして印刷を実行することです。
あなたが誰かが私が間違っていることを知っていますか?
あなたの助けに本当に感謝します。
クラスのインスタンスでのみインスタンスメソッドを呼び出すことができます。たとえば、myScript
のインスタンスを作成してから呼び出す必要があります。
let script = myScript()
script.thisIsmyFunction()
thisIsmyFunction
をクラスメソッド(Swiftでは正式に「タイプメソッド」と呼ばれます)にして、今のように呼び出すこともできます。
class func thisIsmyFunction() {...}
class
の前にあるfunc
修飾子に注意してください。もちろん、これは、クラスのインスタンスがなくなったため、関数内でself
にアクセスできないことを意味します。
詳細については、 メソッドに関するSwiftのドキュメント を参照してください。
さておき:Swiftクラスは大文字で始める必要があります。