独立的ruby程序 如果要require其他的文件 可以参考我写的测试文件
代码片段 a.rb
class A def run p File.dirname __FILE__ p File.absolute_path __FILE__ p File.expand_path "../b.rb", __FILE__ end end tar = A.new tar.run
运行 $ ruby a.rb
即可
参考 http://www.ruby-doc.org/core-2.1.2/File.html#method-c-expand_path
相关推荐
### Ruby中的Require详解 在Ruby语言中,`require`是一个非常重要的关键字,它主要用于加载其他Ruby文件或库。本文将详细介绍`require`的各种使用方法及其背后的原理,帮助开发者更好地理解和运用这一特性。 #### ...
file = File.new(File.join("F:/ruby", "aaa.txt"), "w+") ``` 这里有两个重要的参数需要关注: - **第一个参数**:表示文件的路径(可以是绝对路径也可以是相对路径)。 - **第二个参数**:文件的操作模式,不同的...
在Ruby编程语言中,从FM网站获取音频并将其转换为MP3格式涉及到多个步骤和相关的技术。这个过程通常包括网络请求、数据解析、音频下载以及音频编码转换。下面将详细介绍这些知识点。 首先,你需要了解如何使用Ruby...
在Ruby中,如果需要处理这些文件,可以使用内置的File和IO类来读取、写入或操作文件内容。例如,读取一个DOC文件可能需要第三方库如`docx`,而LPS文件可能是一种特定的游戏脚本格式,需要特定的解析器。 总的来说,...
Ruby提供了多种库和内建功能来完成这项工作,例如内置的`File`类和外部的`diff-lcs`库。 二、Ruby内建方法 1. `File.read`: 这个方法用于读取整个文件内容到字符串,便于进行文本比较。 2. `FileUtils.diff`: 这是`...
File.write('output.xml', xml.to_xml) ``` 通过这种方式,我们可以将Excel文件转换为XML文件。这个过程在标签中被标记为"工具",暗示它可能是一个实用的脚本或程序,用于自动化数据转换。文件`CreateXml.rb`很可能...
require 'zip' Zip::File.open('tieba.zip') do |zip_file| zip_file.each do |entry| entry.extract(File.join('output_directory', entry.name)) { true } end end ``` 这段代码将“tieba.zip”中的所有文件...
require 'ruby-debug' require "find" module Cz_dirtools def mkdirs_to(tar, src=Dir.getwd) # ... # 这段代码首先检查目标目录tar是否存在,如果不存在则创建 # 然后通过Find.find遍历源目录src的所有子目录...
3. 语法差异:Ruby 1.8.5 的语法与更新的版本有所区别,例如 `require_relative` 在这个版本中不存在,要用 `require File.dirname(__FILE__) + '/../file'` 替代。 4. 性能:与现代版本相比,1.8.5 的运行速度较慢...
require 'configparser' def read_ini(file_path) parser = ConfigParser.new parser.read(file_path) parser.to_h end ini_data = read_ini('test.ini') puts ini_data['Section1']['key1'] # 输出:value1 `...
require 'wisepdf' pdf = WisePdf.new file_path = 'output.pdf' pdf.convert('http://example.com', file_path) ``` 这段代码会将example.com的HTML内容转换为PDF,并保存到名为'output.pdf'的文件中。 4....
require 'configparser' ``` 2. **创建Ini文件**: 要创建一个新的INI文件,可以创建一个`ConfigParser`对象,然后添加节(sections)和选项(options)。例如: ```ruby config = ConfigParser.new config....
image = MiniMagick::Image.read("nonexistent_file.jpg") rescue MiniMagick::Error => e puts "Error: #{e.message}" end ``` **与其他库的兼容性** MiniMagick与ActiveRecord、Paperclip和Carrierwave等流行的...
require 'json_compare' ``` 接下来,你可以加载要比较的JSON文件内容,然后调用`JsonCompare`的`compare`方法: ```ruby json_file1 = File.read('file1.json') json_file2 = File.read('file2.json') diff = ...
标题中的“ruby,xml”指的是Ruby编程语言与XML(可扩展标记语言)的结合使用。Ruby是一种面向对象的、动态类型的脚本语言,而XML则是一种用于存储和传输数据的标准格式,尤其在web应用程序中广泛使用。Ruby提供了...
require 'net/pop' ``` 然后,创建了一个`Net::POP3`对象,指定了邮件服务器的地址和端口: ```ruby pop = Net::POP3.new('211.96.81.2', 110) ``` 这里,`'211.96.81.2'`是邮件服务器的IP地址,`110`是POP3服务...
Data Source=#{File.dirname(__FILE__)}/Nwind.mdb") ``` 这里,`Nwind.mdb`是你的Access数据库文件名,你需要将其替换为实际的文件路径。 3. **执行SQL查询**: 有了连接后,我们可以执行SQL查询。例如,要获取...
标题中的错误信息"`require': no such file to load -- sqlite3/sqlite3_native"是一个常见的Ruby编程语言中的加载错误,通常发生在尝试使用SQLite3数据库驱动时。这个错误表明系统无法找到指定的sqlite3_native库,...
('local_file.txt', 'remote_file.txt') ``` 4. **通道和回调**:通过打开通道,可以处理更复杂的交互式任务,如重定向标准输入输出、监听事件等。 ```ruby channel = ssh.open_channel do |ch| ch.exec("some_...