Smalltalk ReferenceStream 对新实例变量有问题吗?

2023-12-30

在 Pharo Smalltalk 中,我使用 ReferenceStream 序列化对象列表 - 这是我要序列化的对象的类定义:

Object subclass: #Task
instanceVariableNames: 'title notes list project dateNextAction dateCreated dateCompleted importance selected'
classVariableNames: 'Database'
poolDictionaries: ''
category: 'ToDo'

我正在使用SMFileDatabase这里描述的方法:http://book.seaside.st/book/advanced/persistency/image-based-persistency http://book.seaside.st/book/advanced/persistency/image-based-persistency

这一直运行良好,而且我的原型应用程序不必使用数据库真是太好了。

然而,问题是:当我添加一个新的实例变量时person to Task来自 ReferenceStream 的负载中断:

Object subclass: #Task
instanceVariableNames: 'title notes list project person dateNextAction dateCreated dateCompleted importance selected'
classVariableNames: 'Database'
poolDictionaries: ''
category: 'ToDo'

它似乎没有发现新变量,并将值加载到错误的插槽中,因此 person 取了值dateNextAction, dateNextAction takes dateCreated等等。

我怎样才能阻止这种情况发生?

我通过将新变量放在列表末尾来使其工作,但我想按类型对变量进行分组。


ReferenceStream 不再受支持,并已在 Pharo 2.0 中删除。你应该使用 Fuel,它写得很好,有据可查,经过充分测试,而且速度非常快。http://rmod.lille.inria.fr/web/pier/software/Fuel http://rmod.lille.inria.fr/web/pier/software/Fuel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Smalltalk ReferenceStream 对新实例变量有问题吗? 的相关文章

  • MVC控制器(Controller)与策略模式(Strategy)

    MVC控制器 Controller 与策略模式 Strategy 转载时请注明出处和作者联系方式 http blog csdn net absurd 作者联系方式 Li XianJing
  • csdn大师孟岩老师为本书作序——“未来属于动态语言”

    如果你想掌握Ruby 这本书是最好的起点 如果你想运用Ruby 这本书也是案头必备 所以 如果你已经决定要走入Ruby的世界 那么这本书是必经之路 而本不需要一篇 推荐序 问题在于 我们为什么还要学习一种新的语言 特别是当Ruby整体上仍然
  • Pharo 中的彩色窗口主题?

    如何在 Pharo 中切换到彩色窗口主题 不确定你指的是哪个主题 但你尝试过吗 世界菜单 gt 系统 gt 设置 gt 外观 gt 形态 gt 用户界面主题 选择框将让您选择窗口颜色主题
  • Smalltalk 如何操作调用堆栈帧(thisContext)?

    Smalltalk 对象thisContext看起来奇怪又奇妙 我不明白它是什么以及它是如何工作的 甚至它如何实现延续 对于 C 的调用堆栈 我可以轻松想象它是如何实现和工作的 但对于这个 我不能 请帮助我理解它 我认为这不是一个简单的问题
  • 如何在 Squeak FFI 中处理 typedef

    我想与一个库 HDF5 进行交互 该库在函数原型和结构定义中只使用自己的 typedef typedef struct H5L type t type Type of link hbool t corder valid Indicate i
  • 子类化流

    我有兴趣创建自己的 Stream 子类 并且想知道应该重写哪些方法 部署在 pharo 和 Gemstone 上 我有一个包含各种类型事物的集合 我希望能够流式传输它的子集 其中包含类的元素 我不想复制集合或使用collect 块 因为集合
  • Smalltalk ReferenceStream 对新实例变量有问题吗?

    在 Pharo Smalltalk 中 我使用 ReferenceStream 序列化对象列表 这是我要序列化的对象的类定义 Object subclass Task instanceVariableNames title notes li
  • 如何从 Pharo 中的调试器复制堆栈跟踪?

    如何从 Pharo 中的调试器复制堆栈跟踪 我知道图像附近有 Debug log 文件 但我太懒了 无法从 Pharo 导航到文件系统 找到文件夹 并浏览一个巨大的文本文件 如果前面有堆栈跟踪 我的 我知道一个方法 但不是最好的 当您在调试
  • Smalltalk中new和initialize的区别?

    新手问题 new和initialize有什么区别 确切地 当您发送消息 new时 它不仅创建对象 而且发送消息 initialize 这使您可以自定义对象的初始化 看 Behavior gt gt new Answer a new init
  • 在 Object 类中实现 #doesNotUnderstand 如何导致在 Squeak Smalltalk 中打开调试器?

    我知道该实施标志着MessageNotUnderstood异常 但是最终如何打开调试器呢 当异常在发出信号后仍未处理时 其 defaultAction被调用 MessageNotUnderstood gt gt defaultAction
  • Pharo Smalltalk 和 mySql

    我正在寻找知道如何连接 Pharo Smalltalk 和 mySql 的人 我只想做一些基本的事情 比如 从名称中选择 然后将结果读入 Pharo 有人对这个有了解吗 如果你有一个屏幕视频那就太好了 我会给你买杯啤酒 查看DBXTalk
  • 为什么我不能通过 DLL/C-Connect 将 UninterpretedBytes 传递给 void*?

    我想将 UnterpretedBytes 传递给外部库 这样说 MyLibrary gt gt foo buf len len
  • 为什么这个类/实例变量没有被初始化?

    我正在尝试使用 gnu smalltalk 在以下带有变量的简单类的代码中 我发现它没有初始化为给定值 Object subclass Myclass mainval mainval 555 getmainval mainval gc My
  • Pharo 5 无头模式下的调试

    我正在无头模式下使用 RFB 运行 pharo 5 海边 pharo vm display null vm sound null app pharo5 Pharo5 0 image no quit 在本地运行良好 带有 XFCE 的 Ubu
  • 在没有 GUI 的服务器上运行 Smalltalk?

    我有一个相当明显的问题 我想在生产服务器上运行 Smalltalk 而不使用图形界面 VW 或 Pharo 甚至 Squeak 可能实现这一点吗 我有一个没有 X 的 VPS 托管 并且希望在 Smalltalk 上运行一些网站 同时使用成
  • Smalltalk (Pharo) 如何简单地与用户交互

    我偶然发现了 Smalltalk 并进一步下载了 Pharo 因为它是推荐的 我的第一印象非常积极 我想移植一些我用 C 我的主要语言 编写的简单程序 这样我就可以感受一下 Smalltalk 但是 我意识到我找不到一种简单的方法来获取用户
  • Pharo 中的绘图表

    我想显示一个值表并能够选择单元格 我该如何在 Pharo Smalltalk 中执行此操作 我听说过 Morphic 小部件能够做到这一点 但我对 Smalltalk 仍然很陌生 我会研究 TreeModel 类的侧面示例 我曾经这样做过
  • 如何在 Smalltalk 中管理二维数组?

    我有一个点列表 必须进行侵蚀 膨胀操作 我需要一种 2d 数组 但在 VisualWorks 中找不到如何操作 我知道 Squeak 中有一个 Array2d 类 但我必须使用 VW 许多 Smalltalk 实现都会有某种 Matrix
  • Smalltalk:消息的发送者是什么?

    在smalltalk中 一切都是通过向接收者对象发送消息来发生的 其语法通常遵循以下格式接收者消息 其中接收者是消息发送到的对象 现在我忍不住想知道 smalltalk 消息的发送者是什么 考虑以下smalltalk 语句 aMorph c
  • Squeak 或 Pharo 适合初学 Smalltalker?

    我是一名 Ruby 专家 刚刚开始涉足 Smalltalk 并试图选择一个实现来进行试验 Squeak 或 Pharo 似乎是一个不错的选择 但我无法找到当前信息来帮助决定哪一个更好 我通过谷歌搜索找到的大部分内容都是几年前的 可能不再相关

随机推荐