2016-07-30 27 views
0

我正在處理Atom編輯器的包,該包應插入12小時格式或24小時格式的時間戳。在遵循飛行手冊網站的指示並查看insert-timestamp's repo的代碼之間,我設法湊齊了我認爲應該給我的東西。問題是,當我執行任一命令時,編輯器中沒有插入時間戳。我已經發布了主代碼here; IDE告訴我由於某種原因,第30行(if H is 0:)出現「意外縮進」。我對Coffeescript沒有多少經驗,所以它可能是我的一個語法錯誤。我是如何訪問編輯器的問題?我應該使用atom.workspace.getActiveTextEditor()以外的東西嗎?我的Atom包不插入任何時間戳

回答

0

您可能會考慮if語句的Python語法,但您不需要在CoffeeScript中用冒號來結束它們。

您的代碼應該是這樣的:

if H < 12 
    p = 'AM' 
    if H is 0 
     H = 12 
    else 
    p = 'PM' 
    if H isnt 12 
     H = H%12 
    stamp = "#{H}:#{M}:#{S}" 
    editor.insertText(stamp) 
+0

我把冒號取出來了,這似乎是正確的東西。現在的問題是,只有24小時制的郵票纔有效。即使我試圖插入12小時的郵票,我仍然可以獲得24小時制。我檢查了我的鍵盤映射,菜單和'package.json'文件,並且在那裏找不到任何特別錯誤的東西,所以肯定有一些關於'stamp12'函數的邏輯或執行的方式。使用'Date()'會有問題嗎? – alyms108

+0

我可能會把它作爲一個單獨的問題發佈。我通過'atom-editor'標籤來到這裏,我試着聯繫CoffeeScript/JavaScript開發人員。 – idleberg

1

我相信我已經找到了解決辦法。原來是一個語法問題。基本上,當我應該使用isnt時,我正在使用is not。我錯誤地認爲他們的意思與他們在英語中的意思相同。不過,我想我明白他們兩人之間的差別。 isnt似乎更多用於比較,這是我在這種情況下想要的。 is not似乎處理更多的值是否爲真。基本上,我有語法上有效的代碼,但它沒有按照我的意圖去做。