当前位置: 首页 > 编程日记 > 正文

Ruby11 拾遗

Agenda

  1. Loop
  2. Expression
  3. File Read/Write
  4. Debug
  5. Process & Thread

Loop

while

a = 10
while a > 0puts aa -= 1
end

until

a = 100until a == 0puts aa -= 1
end

loop

a = 10loop dobreak if a <= 0puts aa -= 1
end

循环控制

  1. break
  2. next

break

for x in 1..10break if x == 5puts x
end

next

for x in 1..10next if x == 6puts x
end

Expression

=~ 正则匹配 匹配到返回首字符匹配的位置,匹配不到返回nil

/hello/i =~ "hello world" # => 0

!~ 正则匹配 是否匹配不到 匹配到返回fals 匹配不到返回true

/666/i !~ "hello world" # => true

alias 别名

def hello'hello'
endalias old_hello hellodef hello'new hello'
endputs old_hello
puts hello

File Read/Write 文件读写

  1. File.read
  2. File.readlines
  3. File#rewind etc
  4. IO.read/write

File Read

file = File.open('run.log', 'r')
while line = file.getsputs line
end

File Write

file = File.open('run.log', 'a+')
file.puts 'hello'
file.close
File.open('run.log', 'a+') do |f|f.puts 'hello'
end

Debug

Debug 工具

  1. ruby debugger
  2. byebug

byebug

$ gem install byebug
require 'byebug'def hello namebyebug #此处会有断电,然后可以看上下文的变量puts name
endhello 'world'

Process & Thread 进程和线程

Process

pid = Process.fork{#...
}

Thread

Thread.new{#...
}

转载于:https://www.cnblogs.com/daoyi/articles/Ruby11-shi-yi.html

相关文章:

CVPR2019|微软、中科大开源基于深度高分辨表示学习的姿态估计算法

作者 | 周强&#xff08;CV君&#xff09; 来源 | 我爱计算机视觉&#xff08;公众号id&#xff1a;aicvml&#xff09; 如何挑战百万年薪的人工智能&#xff01; https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 昨天arXiv出现了好几篇被CVPR 2019接收的论文。 其中来自…

本地连接受限制或无法连接怎么办?

一个非常常见的问题&#xff0c;就是我们家用电脑安装宽带后&#xff0c;任务栏上的“本地连接”图标有一个的叹号。查看状态&#xff1a;“受限制或无连接”&#xff0c;点“修复”却无法修复&#xff0c;显示无法获取IP地址&#xff0c;获得私网地址&#xff01;但ADSL又可以…

糟心!苹果无人车裁员190人,程序员却首当其冲

整理 | 琥珀 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 60s测试&#xff1a;你是否适合转型人工智能&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 仅过了一个多月&#xff0c;苹果公司自动驾驶部门裁员的真相便已浮出水面&#xff0c;该…

【工具】Internet Download Manager( IDM )抓取站点

软件说明&#xff1a; 扒网站的好东西&#xff0c;免费&#xff0c;支持中文 下载地址&#xff08;官网&#xff09; http://www.internetdownloadmanager.com/ 使用方法 https://jingyan.baidu.com/article/a681b0de0be10b3b1943465d.html

2010-12-30

I want to invest in stocks to make a quick buck.我想炒股&#xff0c;尽快赚点儿钱花&#xff11;、Which company are you going to invest in?那你打算买什么股&#xff1f;&#xff12;、Dont put all your eggs in one basket造成不要孤注一掷。&#xff13;、You need…

PFLD:简单、快速、超高精度人脸特征点检测算法

作者 | 周强&#xff08;CV君&#xff09; 来源 | 我爱计算机视觉&#xff08;公众号id&#xff1a;aicvml&#xff09; 60s测试&#xff1a;你是否适合转型人工智能&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 什么样的算法才是好算法&#xff1f; 真…

Cookie实现记住密码、自动登录

前端代码 <form id"form" action"xxx" method"post"><div><input type"text" name"account" id"account" placeholder"账号"><input type"text" name"pwd" i…

【Ubuntu】VirtualBox+ubuntu中显示摄像头

1、下载插件 https://www.virtualbox.org/wiki/Downloads 2、修改下载的插件的后缀 将后缀名改为vbox-extpack 如下载的插件为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.txt&#xff0c;改为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack 3、安装插件 点击…

以SIGSEGV为例详解信号处理(与栈回溯)

以SIGSEGV为例详解信号处理(与栈回溯) 信号是内核提供的向用户态进程发送信息的机制, 常见的有使用SIGUSR1唤醒用户进程执行子程序或发生段错误时使用SIGSEGV保存用户错误现场. 本文以SIGSEGV为例, 详细分析信号使用方法, 内核信号的发送与接收机制. 1. 信号处理例程 以下是一…

十个jQuery图片画廊插件推荐

2019独角兽企业重金招聘Python工程师标准>>> jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片。当幻灯片已经成为网站的重要组成部分&#xff0c;jQuery的重要性不能被忽视。下面为你介绍了10个最有美感&#xff0c;创新性和创造性的jQuery图…

总结机器学习优质学习文章Top50!

整理 | Jane出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;在过去一年里&#xff0c;我们每个月都会给大家推荐一些优质的、最新的机器学习研究成果或机器学习技术文章&#xff0c;很多文章是从近千篇文章中评选出来的。综合考虑这些文章的更新时间…

【Qt】ubuntu QtCreator的pro文件中使用pkg-config

试验环境 ubuntu14.04.5 opencv2.4.13.6 Qt Creator 4.0.3 Qt 5.6 使用方法 在pro文件中&#xff0c;添加opencv头文件路径 INCLUDEPATH /usr/local/opencv2.4.13.6/include 添加pkg-config –libs opencv CONFIG link_pkgconfig PKGCONFIG opencv 可以在命令行下…

弯曲评论上关于SOC的一段文章【整理】

近几天&#xff0c;弯曲评论上针对一个文章进行了热烈的讨论。这个文章本无关乎SOC&#xff0c;不过&#xff0c;有业界同仁willchen将话题引到了SOC上&#xff0c;并发表了一番言论&#xff0c;整理如下&#xff08;BTW&#xff0c;看着willchen的文字&#xff0c;让我想到了s…

C# richtextbox 自动下拉到最后 方法 RichTextBox读取txt中文后出现乱码

C# richtextbox 自动滚动到最后 光标到最后 自动显示最后一行 private void richTextBox1_TextChanged(object sender, EventArgs e) { richTextBox1.SelectionStart richTextBox1.TextLength; // Scrolls the contents of the control to the current car…

【Qt】在Qt中使用opencv,不要使用opencv创建窗口

问题描述 在ubuntu14.04.5 Qt5.6中使用opencv创建窗口显示摄像头时&#xff0c;报错&#xff1a; (:1103): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init() (:1103): GLib-CRITICAL **: Source ID 52 was not found when attempting to remove …

曝贾扬清第二跳,加入阿里!达摩院或将承载中国下一个AI愿景?

整理 | Jane出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;无论是国外还是国内&#xff0c;AI 界的人才动向一直是大家关注的焦点&#xff0c;从 2017 年3 月&#xff0c;吴恩达离职百度&#xff0c;开启创业之路&#xff1b;2018 年 9 月&#xf…

excel表格出问题了

我excel文件出问题&#xff0c;所有sheet表的N2表格内容自动替换成了几个固定的文字&#xff0c;出现两次了&#xff0c;第一次我手工改回来了&#xff0c;这有出现了第二次&#xff0c;我不知道是病毒原因&#xff0c;还是其他原因&#xff0c;应该不是我误操作&#xff0c;一…

阿里云凌晨大规模宕机,华北部分网站陷入瘫痪

整理 | 琥珀出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;今天凌晨&#xff0c;有不少网友反馈称阿里云疑似出现了宕机故障。据消息称&#xff0c;北京时间 2019 年 3 月 2 日 23:55 分左右开始&#xff0c;监控发现华北 2 地域部分 ECS 实例及部分 EMR、RDS on EC…

java8中的时间处理6 - 格式化

下面是格式化和解析的粒子&#xff1a; LocalDate date LocalDate.now();System.out.println(date);System.out.println(date.format(DateTimeFormatter.ofPattern("d::MMM::uuuu")));System.out.println(date.format(DateTimeFormatter.BASIC_ISO_DATE));LocalDate…

【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported

问题描述 ubuntu14.04.5 qt5.6中使用opencv3.4报错&#xff1a; Using GTK 2.x and GTK 3 in the same process is not supported 原因 Qt5.6使用的GTK2.x&#xff0c;opencv3.4安装时使用的GTK3。 解决方法 1、降低opencv版本&#xff0c;将opencv3.4更换为opencv2.4 这…

mysql 开启慢查询命令【转】

以MySQL 5.1.36为例&#xff1a;在slow_query_log &#xff08;注意log_slow_querys参数已经废弃&#xff09;值为ON的情况下&#xff08;默认为OFF&#xff09;&#xff0c;当一条SQL语句执行的时间超过了 long_query_time 预设的时间&#xff08;默认为10s&#xff0c;同时精…

不用开着电脑,如何将脚本代码放到服务器上?

作者 | sergiojune 转载自公众号日常学python&#xff08;ID:daily_learn&#xff09; 程序员转行学什么语言&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 上次弄了个机器人&#xff0c;反响挺不错的&#xff0c;我也挺满意的&#xff0c;因为这个我也初…

【Qt】ubuntu14.04+qt5.6+opencv2.4编程注意事项

cv::imshow();//不能在QT中使用该接口来创建窗口 否侧会报错&#xff1a; (:1103): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init() (:1103): GLib-CRITICAL **: Source ID 52 was not found when attempting to remove it 参见&#xff1a;ht…

Docker完整建站详介

2019独角兽企业重金招聘Python工程师标准>>> 一&#xff0c;在主服务器上操作&#xff1a;安装完成docker;略 二&#xff0c;查看镜像 [rootlocalhost ~]#docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos/shop2.web.top latest 8fc9b211671a 14…

word2007启用宏

word选项-》信任中心->启用宏

用Python分析《工作细胞》的一万多条评论后,非漫迷也要入番了

作者 | 量化小白一枚&#xff0c;上财研究生在读&#xff0c;专注于数据分析与量化投资 来源 | 量化小白上分记&#xff08;公众号 id&#xff1a;quanthzp&#xff09; 责编 | Jane 人工智能的现状及今后发展趋势如何&#xff1f; https://edu.csdn.net/topic/ai30?utm_so…

【VritualBox】虚拟机VirtualBox中ubuntu下加载USB设备报错:busy with a previous request.Plaease try again later

1、问题描述 在VirtualBox中添加USB设备时&#xff0c;报错&#xff1a; USB device with ‘SanDisk Crurer Blade’UUID {*} is busy with a previous request.Plaease try again later 返回 代码: E_INVALIDARG(0x80070057) 组件: HostUSBDeviceWrap 界面&#xff1a; I…

谈谈动态规划的思想

动态规划&#xff08; dynamic programming &#xff09;算法是解决多阶段决策过程最优化问题的一种常用方法&#xff0c;难度比较大&#xff0c;技巧性也很强。利用动态规划算法&#xff0c;可以优雅而高效地解决很多贪婪算法或分治算法不能解决的问题。动态规划算法的基本思想…

关于ARM启动的一篇文章

时间&#xff1a;2010-12-28 09:22:36 来源&#xff1a;老古开发网 作者&#xff1a;写的不错, 应该对大家有所帮助&#xff1a; 基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需…

【Qt】QImage加载bmp位图数据

QImage直接加载bmp文件 QImage image(image.bmp); QImage加载已经获取的bmp数据 unsigned char *imageData = NULL; int imageLen = (102*3+2)*126+54; imageData = (unsigned char*)malloc(imageLen); FILE*stream; if((stream=fopen("image.bmp","r")…