2013-03-09 7 views
6

मुझे अपने ऐप के भीतर एफ # स्क्रिप्टिंग करने की क्षमता में रूचि है।एप्लिकेशन स्क्रिप्ट होस्टिंग में। Tryfsharp.org कैसे काम करता है?

tryfsharp.org जैसे कुछ होने से बहुत अच्छा होगा, विशेष रूप से इंटेलिजेंस क्षमता। क्या यह गिटूब पर कहीं भी उपलब्ध है? यह कैसे काम करता है?

+0

सुनिश्चित नहीं हैं कि अगर यह वास्तविक tryfsharp है, लेकिन गूगल झुकेंगे [इस] (https://github.com/timrobinson/try-fsharp) – Jwosty

+0

यह नहीं है। यह http://tryfs.net पर आधारित है उपरोक्त साइट एमएस शोध से है। – Dave

+1

उनके प्रश्न को खराब शब्दों में लिखा गया है, लेकिन यह इस बात की है: "मैं अपने आवेदन में एफ # के साथ स्क्रिप्टिंग कैसे सक्षम करूं।" – mydogisbox

उत्तर

19

लघु जवाब

एफ # 2, जो Intellisense समर्थन भी शामिल है के साथ TryFSharp की पहली कटौती के लिए इस्तेमाल किया कोड, एक code drop के रूप में उपलब्ध है। उदाहरण के तौर पर रॉब पिकरिंग ने Undertone के लिए एक ऑनलाइन संपादक बनाया। मुझे लगता है कि वर्तमान TryFSharp साइट पर उपयोग किया गया कोड जो F # 3 का उपयोग करता है समय में दिखाई देगा।

TryFSharp क्लाइंट के ब्राउज़र में F # कंपाइलर होस्ट करने के लिए सिल्वरलाइट का उपयोग करता है (F # F # में लिखा गया है)। मांग पर ब्राउज़र से सर्वर पर चल रहे एफ # कंपाइलर का एक उदाहरण कॉल करना भी संभव है, जो TryFs.Net और Pit द्वारा लिया गया एक दृष्टिकोण है।

लंबे समय तक जवाब

वहाँ पटकथा के लिए दोनों पक्षों ने इस प्रकार हैं:

  1. संपादन
  2. निष्पादन

एफ # पहले से ही संपादन और की (.fsx) के माध्यम से script filesF# Interactive निष्पादन का समर्थन करता है ।

संपादन एफ # कोड

एफ # कोड के लिए बाहरी संपादकों की कोई कमी नहीं है:

Xamarin स्टूडियो, Emacs और विम के लिए संपादक समर्थन खुला स्रोत F# Bindings परियोजना है, जो कोड पूर्णता प्रदान करता है पर आधारित है। SharpDevelop ओपन सोर्स AvalonEdit का उपयोग करता है और इसमें F # के लिए सिंटैक्स हाइलाइटिंग शामिल है। आप अपनी परियोजनाओं में AvalonEdit का उपयोग कर सकते हैं, उदाहरण के लिए ओपन सोर्स Refunctor प्रोजेक्ट इसका उपयोग प्रतिबिंबक के अंदर एफ # संपादन प्रदान करने के लिए करता है।

वहाँ भी क्षितिज पर एफ # के लिए नए संपादकों के एक जोड़े हैं:

  • Cloud Sharper - वेब आधारित एफ # आईडीई
  • Tsumani IDE - एक्सेल, Hadoop, आदि के लिए एम्बेडेड संपादक

AvalonEdit डेस्कटॉप आधारित एम्बेडेड संपादक के लिए शुरू करने के लिए एक अच्छी जगह है। एक बार जब आप एक संपादक वातावरण चुन लेते हैं तो आपको एफ # बाइंडिंग का उपयोग करके सरल वाक्यविन्यास हाइलाइटिंग या अधिक उन्नत एकीकरण के बीच चयन करना होगा। यदि आपको संदेह है कि लोग बाहरी संपादक का उपयोग करेंगे तो सिंटैक्स हाइलाइटिंग पर्याप्त हो सकती है।

अपना खुद का संपादक लाओ शायद यह शुरू करने का सबसे आसान स्थान है जो केवल निष्पादन छोड़ देता है।

निष्पादित एफ # कोड

विकल्प को क्रियान्वित एफ # कोड के लिए:

  • एफ # संकलक कोड ड्रॉप के माध्यम से F# PowerPack
  • एफ # संकलक से F# CodeDOM या लागू fsi.exe

संकलन एफ # कोडडॉम के साथ एक स्निपेट:

open Microsoft.FSharp.Compiler.CodeDom 
open System.CodeDom.Compiler 

let compile snippet = 
    use provider = new FSharpCodeProvider() 
    let options = CompilerParameters(GenerateInMemory=true) 
    provider.CompileAssemblyFromSource(options, [|snippet|]) 

let snippet = """ 
module Snippet 
let x = 1 
""" 
let results = compile snippet 
संबंधित मुद्दे