- PDF Link: cheatsheet-ruby-A4.pdf, Category: languages
- Blog URL: https://cheatsheet.dennyzhang.com/cheatsheet-ruby-A4
- Related posts: Golang CheatSheet, Python CheatSheet, #denny-cheatsheets
File me Issues or star this repo.
Name | Comment |
---|---|
Check syntax | ruby -c my.rb |
Generate random key | r = Random.new, r.rand(10...42) |
Install ruby 2.4 | GitHub: Ubuntu install ruby 2.4 |
Install package with specific version | gem install rubocop -v "0.44.1" |
Install package with a range of versions | gem install rails -v "~>4.0.0" |
Install package with a range of versions | gem install rails -v ">3.1, <4.1" |
Get RubyGem env | gem env |
Check whether variable is nil | if value.nil? |
Run system command | system("commandhere") |
Run bash command | stdin, stdout, stderr = Open3.popen3('ls .') |
Name | Comment |
---|---|
Check existence | [‘Cat’, ‘Dog’, ‘Bird’].include? ‘Dog’ |
Find item | l1.find_index(x) |
Remove item from list | l1.delete_at(2) |
Remove duplicate entries | [1,2,2,1,4,4,5,6,7,8,5,6].uniq |
Deep copy a list | l1=l.dup |
Name | Comment |
---|---|
Substring | string[1..3] |
Search substring | “option=name=bob”.index(“name”) |
Replace | “Welcome to PHP Essentials!”.gsub(“PHP”, “Ruby”) |
Remove trailing comma | “ab;123;”.chomp(“;”) |
Strip whitespace | host = host.strip() |
Name | Comment |
---|---|
Name | Comment |
---|---|
Convert string to int | “14”.to_i, “1,112”.delete(‘,’).to_i |
Round float to 2 digits | (5.65235534).round(2) |
Format datetime | puts time.strftime("%Y-%m-%d %H:%M:%S") |
Name | Comment |
---|---|
Name | Comment |
---|---|
Check whether directory exist | File.directory?('xxx") |
Check whether files exist | File.file?('hello.rb') |
Read file to string | contents = File.read('filename') |
- Write to file
# append
File.open('/tmp/test.txt', 'a') { |file| file.write("your text\n") }
# overwrite
File.open('/tmp/test.txt', 'w') { |file| file.write("your text\n") }
- Get ip from eth0
ruby -rsocket -e 'p IPSocket.getaddress(Socket.gethostname)'
require 'socket'
Socket::getaddrinfo(Socket.gethostname,"echo",Socket::AF_INET)[0][3]
- Get hostname
require 'socket'
hostname = Socket.gethostbyname(Socket.gethostname).first
- Get hostname from ip
def get_hostname_by_ip(ip_address)
require 'resolv'
dns = Resolv.new
hostname = ip_address
begin
hostname = dns.getname(ip_address)
rescue
# TODO: show error message
puts "ERROR: Exception"
end
return hostname
end
end
License: Code is licensed under MIT License.