ruby學習隨筆1

2021-06-02 14:43:14 字數 1619 閱讀 7020

函式的括號可有可無,如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表,也就是...