2017-07-19 99 views
2

剛剛開始使用紅色並且難以理解如何評估塊。下面給了我一個*** Script Error: panel has no value錯誤:瞭解紅色塊評估

Red [ 
    needs: 'view 
] 

my-panel: [ 
    panel 300x300 [ 
     text "World" 
    ] 
] 

view [ 
    title "Hello" 

    do my-panel 
] 

我能得到它的工作,如果我內聯my-panel塊的內容,但無法找到一個方法來達到分裂代碼,然後包括它的視圖功能的塊中。任何人都可以給我一個真正的快速指針,指出上述代碼有什麼問題?

回答

4

紅色語言包含幾個DSL,您在view之後使用的以上一個呼叫是VIDdo這個詞在不同的語境中有不同的含義。在紅色常規語言中,它評估一個紅色代碼塊,在VID中,它是一個關鍵字,允許將紅色代碼嵌入到VID中。目前爲止這麼好,但是你沒有將一塊紅色代碼傳遞給do,而是一塊VID代碼。

我想你要實現的是動態插入my-panel塊。這可以用不同的方式來實現,最簡單的將使用compose功能:

Red [ 
    needs: 'view 
] 

my-panel: [ 
    panel 300x300 [ 
     text "World" 
    ] 
] 

view compose [ 
    title "Hello" 

    (my-panel) 
] 

我們就擁有的Gitter幾個chat rooms如果你需要更多的互動幫助。

乾杯!