Eiffel 引介 Part IV (2)

Eiffel Introduction

Eiffel 引介

 

Rensselaer, 2000

James C. McKim, Jr, Rensselaer at Hartford

 K ][ N G of @ R K 译

 

 

4.4 TEST_STACK

class TEST_STACK

creation make_test

feature{NONE}

  si : MY_STACK[ INTEGER ] ; ss : MY_STACK[ STRING ]

  make_test is

    do

      test_integer_stack

      test_string_stack

  end

  test_integer_stack is

    do

      !!si.make( 3 )

      si.push( 3 )

      si.push( 2 )

      si.push( 1 )

      io.putint( si.depth ) io.new_line

      io.putint( si.top ) io.new_line

      si.pop

      io.putint( si.top ) io.new_line

      si.pop

      io.putint( si.top ) io.new_line

      si.pop

  end

  test_string_stack is

    do

       !!ss.make( 10 )

       ss.push( " in Dixie." )

       ss.push( " I was" )

       ss.push( "Oh, I wish" )

       io.putstring( ss.top )

       ss.pop

       io.putstring( ss.top )

       ss.pop

       io.putstring( ss.top ) io.new_line

  end

end

 

4.5 STACK class(另一种实现)

class MY_STACK[ G ]

creation make

feature{ANY}

  capacity : INTEGER

  depth : INTEGER is

    do

      Result := current_depth

  end

  push( x : G ) is

    -- Make x the top item.

    require

      not_full: depth < capacity

    do

      current_depth := current_depth + 1

      s.put( x, current_depth )

      top := x

    ensure

      depth = old depth + 1 ; top = x

  end -- push

  top : G

    -- The item that has been on the stack for the least

    -- amount of time.

    -- require

    -- not_empty: depth > 0

  pop is

    -- Remove the top item.

    require

      not_empty: depth > 0

    do

      current_depth := current_depth - 1

      if current_depth > 0 then

        top := s.item( current_depth )

      end

    ensure

      depth = old depth - 1

        -- top = the item remaining on the stack (if any)

        -- that has been there the least amount of time.

  end -- pop

feature{NONE}

  s : ARRAY[ G ]

  current_depth : INTEGER

  make( c : INTEGER ) is

    -- Initialize an empty stack with capacity c.

    require

      c > 0

    do

      capacity := c

      !!s.make( 1, capacity )

      current_depth := 0

    ensure

      capacity = c

      depth = 0

  end -- make

end

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
是的,MySQL提供了多种编程语言的API,以便开发人员使用自己熟悉的编程语言与MySQL数据库进行交互和操作。具体来说,MySQL提供了以下API: 1. C API:这是MySQL最古老的API之一,用于C和C++编程语言。它提供了许多库函数,可以用于连接MySQL服务器、执行查询、获取结果集等操作。 2. Python API:MySQL提供了Python语言的API,也称为MySQLdb或者PyMySQL。这些API可以用于在Python中连接MySQL数据库、执行查询、获取结果集等操作。 3. Java API:MySQL提供了Java编程语言的API,也称为JDBC(Java Database Connectivity)。这些API可以用于在Java中连接MySQL数据库、执行查询、获取结果集等操作。 4. Perl API:MySQL提供了Perl编程语言的API,也称为DBI(Database Interface)。这些API可以用于在Perl中连接MySQL数据库、执行查询、获取结果集等操作。 5. PHP API:MySQL提供了PHP编程语言的API,也称为mysqli或者PDO。这些API可以用于在PHP中连接MySQL数据库、执行查询、获取结果集等操作。 6. Eiffel API:MySQL提供了Eiffel编程语言的API,也称为EiffelMySQL。这些API可以用于在Eiffel中连接MySQL数据库、执行查询、获取结果集等操作。 7. Ruby API:MySQL提供了Ruby编程语言的API,也称为Ruby/MySQL。这些API可以用于在Ruby中连接MySQL数据库、执行查询、获取结果集等操作。 8. Tcl API:MySQL提供了Tcl编程语言的API,也称为TclMySQL。这些API可以用于在Tcl中连接MySQL数据库、执行查询、获取结果集等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingofark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值