ruby class initilize with hash

本文介绍了一个简单的Ruby类,该类使用`attr_reader`为多个实例变量定义了getter方法,并在初始化过程中通过传递的哈希参数设置这些属性的值。此类可用于快速搭建具有特定属性配置的对象实例。
class Profile
  attr_reader :name, :age, :nationality, :province
  attr_reader :city, :working_place
  
  def initialize args
    args.each do |k,v|
      unless v.nil?
        instance_variable_set("@#{k}", v)
      end
    end
  end
end  

下载方式:https://renmaiwang.cn/s/t0445 在时序发生器设计实验中,如何达成T4至T1的生成? 时序发生器的构建可以通过运用一个4位循环移位寄存器来达成T4至T1的输出。 具体而言:- **CLR(清除)**: 作为全局清零信号,当CLR呈现低电平状态时,所有输出(涵盖T1至T4)皆会被清除。 - **STOP**: 在T4脉冲的下降沿时刻,若STOP信号处于低电平状态,则T1至T4会被重置。 - **启动流程**: 当启动信号START处于高电平,并且STOP为高电平时,移位寄存器将在每个时钟的上升沿向左移动一位。 移位寄存器的输出端对应了T4、T3、T2、T1。 #### 2. 时序发生器如何调控T1至T4的波形形态? 时序发生器通过以下几个信号调控T1至T4的波形形态:- **CLR**: 当CLR处于低电平状态时,所有输出均会被清零。 - **STOP**: 若STOP信号为低电平,且在T4脉冲的下降沿时刻,所有输出同样会被清零。 - **START**: 在START信号有效(通常为高电平),并且STOP为高电平时,移位寄存器启动,从而产生环形脉冲输出。 ### 微程序控制器实验#### 3. 微程序控制器实验中的四条机器指令及其对应的微程序段指定的机器指令及其关联的微程序段如下:- **NOP**: 00- **R0->B**: 04- **A+B->R0**: 05- **P<1>**: 30- **IN->R0**: 32- **R0->OUT**: 33- **HLT**: 35#### 4. 微程序段中的微操作/微命令序列针对每条微指令,其对应的微操作或微命令序列如下:- **IN->R0**: 输入(IN)单元的数据被...
在 SAP ABAP 中发送包含 `sap-client` 和上下文参数的 POST 请求,通常用于访问 SAP 的 Web API 或 OData 服务。这些参数可以作为请求头(Header)或查询参数(Query String)的一部分发送,具体取决于接口的设计要求。以下是两种常见方式的实现方法。 ### 1. 使用 `CL_HTTP_CLIENT` 类发送请求并设置 `sap-client` 请求头 可以通过 `set_header_field` 方法将 `sap-client` 作为 HTTP 请求头字段发送,这种方式适用于大多数 SAP Gateway 服务: ```abap DATA: lo_http_client TYPE REF TO if_http_client, lo_request TYPE REF TO if_http_request, lv_url TYPE string VALUE 'http://your-sap-server/sap/opu/odata/someservice', lv_client TYPE string VALUE '100', " SAP Client Number lv_response TYPE string. " 创建 HTTP 客户端 CALL METHOD cl_http_client=>create_by_url EXPORTING url = lv_url IMPORTING client = lo_http_client. " 获取请求对象 lo_request = lo_http_client->request. " 设置请求方法为 POST lo_request->set_method( if_http_request=>co_request_method_post ). " 设置 sap-client 请求头 lo_request->set_header_field( name = 'sap-client' value = lv_client ). " 设置 Content-Type(根据接口要求调整) lo_request->set_header_field( name = 'Content-Type' value = 'application/json' ). " 设置请求体(根据接口要求设置 JSON 或 XML) lo_request->set_cdata( '{"username":"test","password":"123456"}' ). " 发送请求 CALL METHOD lo_http_client->send. " 接收响应 CALL METHOD lo_http_client->receive. " 获取响应内容 lv_response = lo_http_client->response->get_cdata( ). ``` ### 2. 使用查询字符串传递 `sap-client` 和上下文参数 如果服务端要求将 `sap-client` 作为 URL 查询参数传递,可以在 URL 中拼接: ```abap DATA: lv_url TYPE string. CONCATENATE 'http://your-sap-server/sap/opu/odata/someservice' '?sap-client=100' '&sap-contextid=ABC123' INTO lv_url SEPARATED BY ''. " 创建客户端并发送请求(同上) ``` ### 3. 设置其他上下文参数 上下文参数如 `sap-contextid`、`X-CSRF-Token` 等也可以通过请求头或查询参数的方式传递,具体方式需参考目标接口文档。例如设置 `X-CSRF-Token` 请求头: ```abap lo_request->set_header_field( name = 'X-CSRF-Token' value = 'Fetch' ). ``` ### 注意事项 - 在使用 `CL_HTTP_CLIENT` 时,请确保 SAP 系统配置了正确的 ICM(Internet Communication Manager)和 SICF 服务。 - 若调用 HTTPS 接口,需使用 `ssl_id` 参数并配置 SSL 证书。 - 若接口需要身份验证,应配置 `lo_http_client->property_type_logon_popup = lo_http_client->co_enabled` 或使用预认证机制。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值