2016-12-25 12 views
-6

以降sqrtは私が参照すべき名前です。他の方法で関数を参照できますか(例:フルネーム:sqrt(double))?すぐに機能のフルネームを参照したい場合はどうすればよいですか?

私はsqrtが参照される法的な名前であることを知っていますが、それはちょっと短い文章ですが、sqrt関数のフルネームを書くことはできますか?

import Foundation 

class CalculatorBrain{ 
private var accumulator: Double = 0.0 
func setOperand(operand: Double){ 
    accumulator = operand 
} 

var operations: Dictionary<String, Operation> = [ 
    "√" : Operation.UnaryOperation(sqrt), // (sqrt(double)) 
] 

enum Operation { 
    case UnaryOperation((Double)->Double) 
} 

func performOperation(symbol: String){ 
    if let abc = operations[symbol]{ 
     switch abc { 
     case .Constant(let aa): 
      accumulator = aa 
     case .UnaryOperation:break 
     case .BinaryOperation: break 
     case .Equals: break 
     } 
    } 
} 

var result:Double{ 
    get{ 
     return accumulator 
    } 
} 
} 
+0

これは、列挙型、関連する値、またはそのいずれとも関係ありません。 'sqrt'は関数を呼び出すことなく関数を参照するだけです。 – Alexander

+0

はい、フルネームを参照したい場合はどうすればよいですか? –

+2

それはどういう意味ですか? – Alexander

答えて

1

sqrtは関数の名前です。あなたはそれを呼んでいないし、そうしたくもない。あなたはそれにを参照してです。そして裸の名前はあなたがそれをどうやっているのかです。

+0

私の本を読んでみたいと思うかもしれません:http://www.apeth.com/swiftBook/ch02.html#_function_references_and_selectors – matt

+0

なので、フルネームを追加したいのですが? –

+0

@WuchangLi「フルネーム」とはなんですか?誰かがすでにそれを尋ねてきましたが、あなたはまだ明らかにしていません。 – Carcigenicate

関連する問題