PTT
數位生活區
即時熱門文章
24小時內熱門文章
最新文章
熱門看板
看板列表
我的收藏
最近瀏覽
批踢踢 PTT 搜尋引擎
看板
[
Ruby
]
討論串
[問題] Module觀念的問題
共 5 篇文章
排序:
最舊先
|
最新先
|
留言數
|
推文總分
內容預覽:
開啟
|
關閉
|
只限未讀
首頁
上一頁
1
下一頁
尾頁
#1
[問題] Module觀念的問題
推噓
0
(0推
0噓 1→
)
留言
1則,0人
參與
,
最新
作者
yzugsr
(Bird)
時間
18年前
發表
(2007/02/01 03:52)
,
編輯
資訊
1篇文章回應此文
1
內文有0個圖片
image
0
內文有0個連結
link
0
內容預覽:
module A. def self.test. str = "class B; end". eval(str). end. end. A.test. 這樣的程式碼會產生A這個module, 及A::B的class. 我的問題是:要怎樣在module A的class method中evaluate一
#2
Re: [問題] Module觀念的問題
推噓
0
(0推
0噓 0→
)
留言
0則,0人
參與
,
最新
作者
polarpolar
(破啦貝爾)
時間
18年前
發表
(2007/02/01 07:24)
,
編輯
資訊
1篇文章回應此文
1
內文有0個圖片
image
0
內文有0個連結
link
0
內容預覽:
看不太懂你要問啥 @@. 不用改就可以產生 A::B 啦~. ---. 不過既然不要用 eval,最好的方法還是. def self.create(str). const_set str, Class.new. end. 吧? XD. --.
╭───╮╭───╮┬
╭───╮╭───╮
2
.
│
│
#3
Re: [問題] Module觀念的問題
推噓
0
(0推
0噓 0→
)
留言
0則,0人
參與
,
最新
作者
yzugsr
(Bird)
時間
18年前
發表
(2007/02/01 10:47)
,
編輯
資訊
1篇文章回應此文
1
內文有0個圖片
image
0
內文有0個連結
link
0
內容預覽:
我好像沒講清楚 @@. 簡單來說,我是希望在module A中evaluate一個字串. 創造出::B的物件(而非A::B) 也就是說不要在A的nesting之下. --.
※
發信站:
批踢踢實業坊(ptt.cc)
. ◆ From: 61.216.188.62.
#4
Re: [問題] Module觀念的問題
推噓
0
(0推
0噓 0→
)
留言
0則,0人
參與
,
最新
作者
yzugsr
(Bird)
時間
18年前
發表
(2007/02/01 11:13)
,
編輯
資訊
1篇文章回應此文
1
內文有0個圖片
image
0
內文有0個連結
link
0
內容預覽:
自己try出來了. module A. def self.test. str = "class B; end".
Object.
class_eval(str). end. end. A.test. 加了紅字就會建出::B,不加就會建出A::B. 其實我也不知其所以然..... --.
※
發信站:
#5
Re: [問題] Module觀念的問題
推噓
3
(3推
0噓 2→
)
留言
5則,0人
參與
,
最新
作者
godfat
(godfat 真常)
時間
18年前
發表
(2007/02/01 13:02)
,
編輯
資訊
0篇文章回應此文
0
內文有0個圖片
image
0
內文有0個連結
link
0
內容預覽:
容我推測. 沒寫 Object. 當然是 self. 的意思. 亦即以當前 scope 為基準,在 A.test 中當然是指 A. 所以產生出來的 class 自然是在 A 裡面了. 如果你寫成 Object. 的話,就變成寫到 Object 這個 class 裡面. 所以 B 其實是 Object
(還有658個字)
首頁
上一頁
1
下一頁
尾頁