2016-04-25 78 views
-5

任何機構都可以幫助我嗎?Lua文本和功能打印在同一行

function sum(_g, _h) 
    local num = (_g * _h)/2 
    return num 
end 

print("The result is")(sum(10, 6)) 

爲什麼這不起作用?

+0

'sum10,6'或'sum(10,6)'? – Kamiccolo

+0

sum(10,6)是正確的 – Sharpy

+0

你應該發佈你正在得到的錯誤。 (因爲你清楚地得到了一個。)然後,你應該嘗試實際閱讀你寫的'lua'看到它的方式。提示:'print(「結果是」)'是一個完整的函數調用。它返回什麼? –

回答

7

函數print將一個或多個字符串作爲參數。 當琴絃輸入爲不同的參數,它輸出他們由製表

The result is 20 

分離爲了得到這個輸出,試想你存儲從sum在變量

res = sum(10, 6) 

返回然後調用print進入您的字符串,其結果就像你在你的函數sum進入106

print("The result is ", res) 

這也traduces到

print("The result is ", sum(10, 6)) 

,而不需要任何地方存儲結果。

無論如何,如果你的目標的輸出,它看起來像

The result is 20 

您必須輸入唯一的一個字符串作爲論據print

.. 

是,它可以讓您連接兩個字符串中的一個字符串操作,所以"hello".." world"結果爲"hello world"

現在只是將二者結合起來串"The result is "20(這實際上是一個數字,但它被自動轉換爲字符串)在

res = sum(10, 6) 
mystring = "The result is " 
print(mystring..res) 

,或者更短期

..運算符,如
print("The result is "..sum(10, 6)) 
+0

謝謝!工作很好 – Sharpy

+0

沒問題!只是問你是否需要更多的幫助。 – user6245072