分類: Octave

Octave 變數(Variables)

全域變數(Global Variables)

在宣告變數時可以使用 global 關鍵字將變數宣告為全域變數(Global Variables),例如:

global a
global a b
global c = 2
global d = 3 e f = 5

被宣告為全域的變數不需要以參數的形式傳入函數中,即可直接在函數中使用。

使用 global 宣告全域變數時,只能宣告一次,重複宣告不會有作用,例如:

global gvar = 1
global gvar = 2

此時 gvar 的值是 1,不是 2

若要在函數中使用全域變數必須在函數中使用 global 宣告變數,例如:

global x
function f ()
  x = 1;
endfunction
f ()

這樣執行 f() 函數並不會將全域變數 x 變數指定為 1,要將全域變數 x 指定為 1 必須在函數中使用 global 宣告變數:

function f ()
  global x;
  x = 1;
endfunction

將全域變數以參數的形式傳入函數中時,Octave 會將全域變數複製一份在函數中,不會影響到原來的全域變數,例如定義一個函數 f(x)

function f (x)
  x = 0
endfunction

另外再宣告一個全域變數:

global x = 13

將此全域變數傳入 f() 中:

f (x)

輸出為

x = 0

但最外層的全域變數 x 的值還是沒有改變,其值還是維持 13

isglobal (name)

isglobal(name) 函數會判斷變數 name 是否為可見的全域變數。例如:!

global x
isglobal ("x")

輸出為

ans =  1

Page: 1 2 3 4

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 數學

Recent Posts

[DIY] 自製凡士林火種

這裡介紹如何利用簡單的凡士林與...

2 年 ago

[DIY] 自製火影木葉、砂忍者村標誌雕刻木牌

本篇記錄我用路邊撿來的樟木與龍...

2 年 ago

收集龍眼木修剪枝幹用於木頭工藝

最近打算帶著阿玄做一些木工作品...

2 年 ago

[DIY] 樟木手工自製迷你手裏劍(忍者武器)

本篇記錄阿玄第一次使用木工工具...

2 年 ago

[DIY] 龍眼木手工自製木槌

本篇記錄我用自己砍的龍眼木還有...

2 年 ago

[DIY] 樟木手工自製苦無(忍者武器)

本篇記錄我自己用樟木的枝幹,以...

2 年 ago