Lua

2012-08-22 14 views
5

में उपयोगकर्ता से इनपुट प्राप्त करना मुझे लूआ में उपयोगकर्ता से इनपुट कैसे प्राप्त हो सकता है (जैसे scanf सी में)?
उदाहरण के लिए, कार्यक्रम उपयोगकर्ता को अपना नाम पूछता है, फिर वह अपना नाम लिखता है, तो कार्यक्रम उसका नाम आउटपुट करेगा।Lua

उत्तर

15

io.read() का उपयोग करें सावधान रहें कि फ़ंक्शन को विभिन्न मानकों के साथ अनुकूलित किया जा सकता है। यहाँ कुछ उदाहरण हैं।

s = io.read("*n") -- read a number 
s = io.read("*l") -- read a line (default when no parameter is given) 
s = io.read("*a") -- read the complete stdin 
s = io.read(7) -- read 7 characters from stdin 
x,y = io.read(7,12) -- read 7 and 12 characters from stdin and assign them to x and y 
a,b = io.read("*n","*n") -- read two numbers and assign them to a and b 
4

सबसे आसान इनपुट io.read() का उपयोग करके पुनर्प्राप्त किया जा सकता है। यह मानक इनपुट (आमतौर पर कीबोर्ड से एक पंक्ति को पढ़ेगा, लेकिन फ़ाइल से रीडायरेक्ट किया जा सकता है)।

आप इस तरह इसका इस्तेमाल कर सकते हैं:

io.write('Hello, what is your name? ') 
local name = io.read() 
io.write('Nice to meet you, ', name, '!\n') 

io.read() सिर्फ io.input():read() के लिए एक शॉर्टकट है, ठीक उसी प्रकार io.write()io.output():write() के लिए एक शॉर्टकट है। See the API for read() here

ध्यान दें कि io.write()print() जैसी आपकी लाइन को स्वत: समाप्त नहीं करेगा।

+3

मैं यह मानने के बजाय 'io.stdin: read' का उपयोग करने का सुझाव दूंगा कि डिफ़ॉल्ट इनपुट फ़ाइल' stdin' है। इसी तरह 'io.stdout: लिखें 'के साथ। –

संबंधित मुद्दे