2014-07-10 41 views
0

最近發佈的highlight.js語法高亮顯示器支持Swift,我們希望在主頁上顯示它。我正在尋找一個簡潔的Swift代碼片段,它適用於這裏的小窗口:http://highlightjs.org/。幫幫我? :-)Swift代碼簡潔的代表性論點

通過 「代表」 我的意思是,它應該有語言的識別特徵,這樣的片段的C++

#include <iostream> 

int main(int argc, char *argv[]) { 

    /* An annoying "Hello World" example */ 
    for (auto i = 0; i < 0xFFFF; i++) 
    cout << "Hello, World!" << endl; 

    char c = '\n'; 
    unordered_map <string, vector<string> > m; 
    m["key"] = "\\\\"; // this is an error 

    return -2e3 + 12l; 
} 

回答

1
import Foundation 

@objc class Person: Entity { 
    var name: String! 
    var age: Int! 

    init(name: String, age: Int) { 
    self.name = name 
    self.age = age 
    } 

    // Return a descriptive string for this person 
    func description(offset: Int = 0) -> String { 
    return "\(name) is \(age + offset) years old" 
    } 
} 
+0

在'func description()'之前推送'@ objc'在語法上是正確的嗎? (該片段的另一個目標是炫耀突出顯示的功能) – isagalaev

+0

不,但您可以將它放在課程之前,'@objc class Person' – ColinE

0

在這裏你去...

println("Hello, world") 

更重要的是你需要嗎? ;-)

+0

它不是可識別SWIF t,是嗎? :-) – isagalaev

1

如何:

import Foundation 

class DelegateMulticast<T> { 

    let delegates = [T]() 

    // invokes the given function for each delegate 
    func invokeDelegates(invocation: (T) ->()) { 
    for delegate in delegates { 
     invocation(delegate) 
    } 
    } 
} 

它體現了雨燕數組類型的語法[T],泛型函數類型(T) ->()所示,將在語法缺少括號,沒有分號......

很多雨燕具體的東西

+0

這一個實際上發現了一些錯誤來修正熒光筆:-)。謝謝! :-) – isagalaev

+0

@isagalaev很酷 - 很高興它有幫助。出於興趣,你有徹底的測試閉包語法嗎? Swift至少有8種不同的變體,所以可能會給你一些問題! – ColinE

+0

我在https://github.com/isagalaev/highlight.js/blob/master/src/languages/swift.js沒有看到任何與閉包相關的東西,所以看起來我們不支持突出顯示那些東西。你可以貢獻一下! – isagalaev

0
var swiftSupported : Bool = true 
let ourProduct = "Highlight.js" 

if swiftSupported { 
    println("\(ourProduct) now supports Swift!") 
} 
+0

當然'swiftSupported'應該是一個常量? :-P – ColinE

+0

:)也許出於市場營銷的目的......我在考慮更多新功能。 – trumpeter201