函式的括號可有可無,如puts("***x")或puts "***x",為避免使用歧義,最好使用括號;在不影響函式使用的情況下可以去掉括號。
語句末尾的分號可有可無,一行語句有多個語句時要用分號隔開。
只有nil和false是假,其他都是真。
puts直接輸出一行內容,包括回車換行;
print輸出字串,但是不包含回車換行;
printf可帶佔位符輸出;
puts 'hello world'
print '1111'
print '2222'
printf "\n-->%s","yes, that's right";
gets獲取輸入字串
print 'enter you name'
name = gets()
puts "hello #"
在字串中嵌入#,則是對***求值,***是語句塊,可以是單個變數也可以是表示式,對***整體求值後再嵌入到字串中。
puts "hello #"
puts "\n\t# goodbye"
and,or,not,&&,||,!,都是連線詞,then關鍵字可有可無,但是在將if語句寫成一行時則必須新增then,用於隔開「條件」和」結果「;
if 11<22
puts "11<22"
endif 11<22 then puts "11<22" end
if ab"
enda=1;b=2;c=3;d=4;e=5;f=6;g=nil
if a
$***用於表示全域性變數,其他都是區域性變數;
全域性變數的作用域是整個檔案,包括require的檔案(作用域可以跨檔案),都可以對全域性變數進行修改;
區域性變數的作用域在它的上下文,如果在函式中則僅限於該函式中,如果在函式外則限於該檔案中,最多限於該檔案中,其他檔案不能引用;(待續。。。)
localvar = "hello"
$globalvar = "goodbye"
@***是例項變數,即類的例項變數,是類私有變數。
class dog
def set_name(anmae)
@myname = aname
enddef get_name
return @myname
endendmydog=dog.new
mydog.set_name('fido')
mydog.set_name 'fido'
puts mydog.get_name
ruby中所有的物件都有inspect函式,該函式返回對這個物件的描述,例如string物件的值,類物件的值;
p函式,效用同inspect函式,但是不屬於任何物件,相當於是全域性函式,p(***)等價於puts ***.inspect;
puts mydog.inspect
p(mydog)
p(100)
puts 100.inspect
p(100.to_s)
待續。。。
ruby隨筆 注釋
ruby的注釋有單行和多行兩種。單行注釋 一行以 開頭,則該行是單行注釋,可以是一些函式說明 類說明等等,例如 i am single line comment exx.xx.rb this function define 多行注釋 以 begin作為第一行全部內容 寫在行首 以 end作為最後一行...
學習隨筆 1
大學四年很快就要過去了,這個學期我要做畢業設計,題目是基於twincat的機械人運動控制系統的設計。說實話,我校的機械設計製造及其自動化專業雖然在國內名列前茅,但對於本科階段的教育過於注重設計與製造,而對於其自動化的部分則有明顯輕視 也可能是因為我們沒有立足自動化的課程設計吧,反正各種課設使我具備了...
lua學習隨筆 1
最近在用lua寫遊戲,用的是quick cocos2dx,研究了一下它的機制,或者說是tolua 的機制吧,怕以後忘了,寫在這兒做下記錄。首先,lua最強大的型別就是table,它可以儲存任何變數,number boolean string,甚至可以儲存table。table是乙個hash表,也就是...