ai didi

ruby - 一个菜鸟的ruby风格问题

转载 作者:太空宇宙 更新时间:2023-11-03 17:28:18 24 4
gpt4 key购买 nike

USER = "user"
PASS = "pass"

QUERY = "SELECT c1, c2, c3, c4, c5, c6, c7 FROM table"

SQLITE_SCHEMA = 'c1, c2, c3, c4, c5, c6, c7'

sqlite_db = SQLite3::Database.new('sqlite.db')
odbc_db = DBI.connect('DBI:ODBC:database', USER, PASS)
odbc_db.select_all(QUERY) do |entry|
sqlite_db.execute "insert into smnt (" + SQLITE_SCHEMA + ") values ('" + entry[0].to_s + "','" +
entry[1].to_s + "','" +
entry[2].to_s + "','" +
entry[3].to_s + "','" +
entry[4].to_s + "','" +
entry[5].to_s + "','" +
entry[6].to_s + "')"
end

必须有一种更简洁的方式来编写 db.execute 字符串,还是我太挑剔了?

最佳答案

除了 hypoxide 的答案中的循环外,还可以考虑使用变量插值:

sqlite_db.execute "insert into smnt (#{SQLITE_SCHEMA}) 
values (#{entry.map {|e| "'#{e.to_s}'"}.join(',')})"

请注意,您的 entry 元素最好全部清理干净,否则要为痛苦的世界做好准备,Bobby Tables风格。

关于ruby - 一个菜鸟的ruby风格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861243/

24 4 0
文章推荐: ruby - 如何让秒表程序运行?
文章推荐: c# - 更精确的 Thread.Sleep
文章推荐: python - 使用 Python 在 LibreOffice 中加载 HTML 文件
文章推荐: c# - 如何检查列表框中的项目类型
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com