所以,我有一个方法可以为我创建游戏的其他方法创建所有实例变量,我知道如何单独执行它们但是从一种方法中找到如何实现它真的很难。
我需要从字符串中读取数据,其中每行必须单独处理。
使用Pharo。
类游戏,一切都在一个游戏类中。
游戏:实例变量:' rol col'。使用实例方法。
readFrom: 'Board 3 4
Dice 2 1 1 1
Players 1'
board
[my actual code that creates a board]
row for loop[
Transcript show: 'creating board'.
col for loop[
Transcript show: 'creating board'.
]
]
dice
[dice code..]
players
[players code]
答案 0 :(得分:2)
您的模型尚未明确定义。但是,通过帮助您进行一些编码,我会尝试为您提供一些有关如何填补空缺的见解。
所以,假设你有一个班级Game
。该类定义(至少)4个实例变量:rows
,columns
,dice
和players
。
现在,您想通过阅读符合某种格式的Game
来创建String
的实例,例如:
'Board 3 4
Dice 2 1 1 1
Players 1'
为此,请在Game
的
readFrom: aString
^self new readFrom: aString
然后是实例方法
readFrom: aString
aString lines do: [:line | | data key |
data := line substrings.
key := data at: 1.
key = 'Board'
ifTrue: [
rows := data at: 2.
columns := data at: 3].
key = 'Dice'
ifTrue: [
dice := data allButFirst collect: [:s | s asInteger]].
key = 'Players'
ifTrue: [
players := (data at: 2) asInteger]]
同样,这不会解决所有问题,但应该可以帮助您入门。否则,再问一次。