• 第三十四章 Objects - 流接口类


    第三十四章 Objects - 流接口类

    系统分配了固定数量的空间来保存字符串操作的结果。如果字符串表达式超过分配的空间量,则会导致错误;参见字符串长度限制。

    如果需要传递长度超过此限制的值,或者需要值可能超过此限制的属性,则使用流。流是一个对象,它可以包含一个大小大于字符串大小限制的值。(内部创建并使用临时Global来避免内存限制。)

    可以在SQL中使用流字段。

    注意:不能在Python中使用ObjectScript流字段。

    流类

    主要的流类使用由类中的 %Stream.Object 定义的通用流接口。通常使用流作为其他对象的属性,并保存这些对象。流数据可以存储在外部文件 IRIS Global文件中,具体取决于选择的类:

    • %Stream.FileCharacter%Stream.FileBinary 类用于写入外部文件的流。

    (二进制流包含与%Binary 类型相同类型的数据,并且可以保存大型二进制对象,例如图片。字符流包含与%String类型相同类型的数据,旨在存储大量文字。)

    • %Stream.GlobalCharacter%Stream.GlobalBinary 用于存储在Global中的流。

    要使用流对象,可以使用它的方法。例如,使用这些类的 Write() 方法将数据添加到流中,并使用 Read() 从中读取数据。流接口还包括其他方法,例如 Rewind()MoveTo()

    示例

    例如,以下代码创建一个Global字符流并向其中写入一些数据:

     Set mystream=##class(%Stream.GlobalCharacter).%New()
     Do mystream.Write("here is some text to store in the stream ")
     Do mystream.Write("here is some more text")
     Write "this stream has this many characters: ",mystream.Size,!
     Write "this stream has the following contents: ",!
     Write mystream.Read()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    R语言3.6版本安装ggplot2报错解决方法
    tensor维度变换
    java Thread的状态分析
    Postman 连接数据库 利用node+xmysql
    Excel找到某个指定值的最大或者最小日期/数值
    贪心+二分
    代码随想录——图论一刷day05
    Spring Boot快速入门:构建简单的Web应用
    Hadoop学习日志之HDFS文件系统
    开漏输出,推挽输出,开集输出
  • 原文地址:https://blog.csdn.net/yaoxin521123/article/details/133156474