2017-12-18 6 views
2

これは私の最初のQ#プログラムです。 https://docs.microsoft.com/en-us/quantum/quantum-writeaquantumprogram?view=qsharp-preview量子プログラム「BellTest」という名前は現在のコンテキストに存在しません

エラーは、名前

は「BellTest」は現在のコンテキスト に存在するが、その私は手順に従い、その持つエラーを構築する際に

Bell.csで定義されていません。 からc# fileにオペレーションをインポートする方法がわかりません。このエラーはそのオペレーションが見つからないようです。

すべてのヘルプは本当に私も同じエラーを得たが、私のコード

Driver.cs

using Microsoft.Quantum.Simulation.Core; 
using Microsoft.Quantum.Simulation.Simulators; 

namespace Quantum.Bell 
{ 
    class Driver 
    { 
     static void Main(string[] args) 
     { 
      using (var sim = new QuantumSimulator()) 
      { 
       // Try initial values 
       Result[] initials = new Result[] { Result.Zero, Result.One }; 
       foreach (Result initial in initials) 
       { 
        var res = BellTest.Run(sim, 1000, initial).Result; 
        var (numZeros, numOnes) = res; 
        System.Console.WriteLine(
         $"Init:{initial,-4} 0s={numZeros,-4} 1s={numOnes,-4}"); 
       } 
      } 
      System.Console.WriteLine("Press any key to continue..."); 
      System.Console.ReadKey(); 

     } 
    } 
} 

Bell.qs

namespace Quantum.Bell 
{ 
    open Microsoft.Quantum.Primitive; 
    open Microsoft.Quantum.Canon; 

    operation Set (desired:Result,q1:Qubit) :() 
    { 
     body 
     { 

      let current = M(q1); 

      if (desired != current) 
      { 
       X(q1); 
      } 

     } 
    } 

    operation BellTest (count : Int, initial: Result) : (Int,Int) 
    { 
     body 
     { 
      mutable numOnes = 0; 
      using (qubits = Qubit[1]) 
      { 
       for (test in 1..count) 
       { 
        Set (initial, qubits[0]); 

        let res = M (qubits[0]); 

        // Count the number of ones we saw: 
        if (res == One) 
        { 
         set numOnes = numOnes + 1; 
        } 
       } 
       Set(Zero, qubits[0]); 
      } 
      // Return number of times we saw a |0> and number of times we saw a |1> 
      return (count-numOnes, numOnes); 
     }  
    } 
} 
+0

私が持っていたとき、私はそのエラーを数回受けq#コードのコンパイルエラー。 – speckledcarp

答えて

1

です。ここ

を高く評価していますF5キーを押すことでそれを行うことができました。

おそらく、Visual Studioエディタが.qsファイルを完全にサポートしていない可能性があります。 .csファイルと.qsファイルの間で名前空間の共有が正しく動作していないようです。

自分の開発環境でコードを使用して実行することができました。

-

IDE:Visual Studioのコミュニティ2017(バージョン15.5.2)
開発キット:マイクロソフト量子開発キット(0と1)

+0

私はキットを再インストールしてくれてありがとう、それは働いた...理由は何だったかわからない –

関連する問題