我正在尝试创建一个Ruby类,其中该initialize方法采用选项的哈希值.然后,我将这些选项作为attr_accessor课程的选项.现在,我可以做点什么
class User
attr_accessor :name, :email, :phone
def initialize(options)
self.name = options[:name]
self.email = options[:email]
self.phone = options[:phone]
end
end
User.new(:name => 'Some Name', :email => 'some-name@some-company.com', :phone => 435543093)
Run Code Online (Sandbox Code Playgroud)
但它对我来说并不觉得很干.相反,我想做
class User
attr_accessor :name, :email, :phone
def initialize(options)
options.each do |option_name, option_value|
# Does not work!!
self.send(option_name, '=', option_value)
# Does not work either!!
self.send(option_name, '=' + option_value)
end
end
end
User.new(:name => 'Some Name', :email => 'some-name@some-company.com', :phone => 435543093)
Run Code Online (Sandbox Code Playgroud)
但我不能让语法工作!
我究竟做错了什么?
这可能很简单,这是我的查询:
SELECT DISTINCT U.NAME, P.PIC_ID
FROM USERS U, PICTURES P, POSTINGS P1
WHERE U.EMAIL_ID = P1.EMAIL_ID AND P1.PIC_ID = P.PIC_ID AND P.CAPTION LIKE '%car%';
Run Code Online (Sandbox Code Playgroud)
但是这只会删除一行具有相同的u.name和p.pic_id的重复项.我想要它,如果有任何重复的名称,它只是遗漏了其他行.这是一个奇怪的查询,但一般来说,如何将distinct应用于SELECT子句的单个列?
我有一个打印页面,在新标签页或窗口中打开.结果页面打开一个打印对话框.用户在打印对话框上进行选择后,页面将关闭选项卡/窗口.
window.print();
window.close();
Run Code Online (Sandbox Code Playgroud)
这曾经在主流浏览器中运行良好,但Chrome的最新版本之一打破了这一点(即14.0.835.202).
我收到以下消息,我猜是chrome打印插件:"打印预览失败".
有没有人有解决方案在打印后关闭Chrome标签/窗口?
关于新的Ember.js路由系统(在此描述),如果我理解正确,当您退出路由时视图将被销毁.
有没有办法在退出路径时绕过视图的销毁,以便在用户重新进入路径时保留视图的状态?
更新:看起来,除非在新路线中更换插座视图,否则不会销毁视图.例如,如果您在某个{{outlet master}}中使用ViewA的stateA,并且您使用{{outlet master}}中的ViewB转到stateB,则ViewB将取代ViewA.解决这个问题的方法是在需要保留视图时定义多个出口,例如{{outlet master1}},{{outlet master2}},...
一个很好的功能是能够将一组视图传递到插座.并且还可以选择在退出路线时是否会销毁视图或隐藏视图.
例如,这是一个好主意吗?
require_once($_SERVER['DOCUMENT_ROOT'].'/include.php');
Run Code Online (Sandbox Code Playgroud)
如果在同一服务器上有两个虚拟主机,一个用于实时,一个用于开发,具有不同的Apache DocumentRoot,这将避免在包含源未知时包含绝对路径,并且可能位于任何目录中.
(注意:以下部分中的文件路径是相对于Web根目录的.它们实际上就像是,Web根目录/var/www/app/core/init.php在哪里/var/www/app)
例如:我有一个/core/init.php,它使用来自网站(/file.php,/dir/file.php or /dir/dir/file.php)所在地的相对路径调用.
这个init.php然后包括几个功能页面,在基金目录中,一个子目录/core(如/core/func/userfunctions.php).
所以,在init.php中,我可以使用该$_SERVER方法,因为如果我使用相对路径并尝试从类似的页面调用函数,它会中断/dir/file.php.
我看不出有任何问题,但总的来说可能会出错?
我用Intent ACTION_GET_CONTENT调用startActivityForResult.一些应用程序使用此Uri返回数据:
内容://媒体/外部/图像/媒体/ 18122
我不知道它是图像,视频还是一些自定义内容.如何使用ContentResolver从此Uri获取实际文件名或内容标题?
我想在我的Ember.js中使用HTML5 Local Storage.
没有Ember Data,我无法找到任何这样做的例子.
该怎么做?我需要考虑什么?
如何将此JavaScript函数转换为Ruby?
new Date().getTime()
Run Code Online (Sandbox Code Playgroud)
返回:
1384520363488
我无法使用Ruby DateTime,TimeAt等获得相同的答案.
我使用MySQL 5.5.29,utf8mb4字符集,有一个表用户包含一个nickname值为hex 的字段F09F988EF09F988E转换为表情符号.
现在打开MySQL控制台,并执行:
set names utf8mb4;
select nickname, hex(nickname) from user;
Run Code Online (Sandbox Code Playgroud)
nickname | hex(nickname)
---------+-----------------
| F09F988EF09F988E
Run Code Online (Sandbox Code Playgroud)
然后执行:
mysqldump --default-character-set=utf8 -utest -ptest test_dev user > user.sql
Run Code Online (Sandbox Code Playgroud)
检查user.sql并找到昵称显示??哪个十六进制字符串是3f
那么,mysqldump如何用UTF8导出正确的emojis字符串呢?
顺便说一句,数据库字符集环境配置如下:显示'character_set_%'之类的变量:
'character_set_client', 'utf8mb4'
'character_set_connection', 'utf8mb4'
'character_set_database', 'utf8mb4'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8mb4'
'character_set_server', 'utf8mb4'
'character_set_system', 'utf8'
'character_sets_dir', '/data/mysql/share/charsets/'
Run Code Online (Sandbox Code Playgroud) 注意:此问题也来自Cordova Browser-Sync插件的官方GitHub存储库中的多方.在此发布此内容以引起对该问题的更多关注,并了解某人是否有任何见解或实际解决方案.
我是Apache Cordova世界的新手,但是能够流畅地进行全栈LAMP开发.也就是说,我对这个问题感到困惑:当我创建一个基本/简单的Apache Cordova测试应用程序并添加Cordova Browser-Sync插件时,我可以在我的www/目录中进行更改,然后看到它们立即反映在platforms/browser/www/我的打开浏览器中窗口没有重载.我必须强制重新加载以使更改反映在浏览器中.
我在Mac OS X 10.10.5(Yosemite)上运行这一切,NodeJS是4.4.0,NPM是2.14.20,Cordova是6.0.0,Cordova Browser-Sync插件是0.1.1.
我设定的步骤如下:首先创建一个像这样的新应用:
cordova create MyApp
Run Code Online (Sandbox Code Playgroud)
然后我进入这样的目录:
cd MyApp
Run Code Online (Sandbox Code Playgroud)
并设置我的简单"浏览器"Cordova应用程序,如下所示:
cordova platform add browser
Run Code Online (Sandbox Code Playgroud)
最后的测试就是像这样运行应用程序:
cordova run browser
Run Code Online (Sandbox Code Playgroud)
好的,所以我们知道简单的"Hello world."测试工作.现在我将添加Cordova Browser-Sync插件,如下所示:
cordova plugin add cordova-plugin-browsersync
Run Code Online (Sandbox Code Playgroud)
一切都很好,现在我将测试这样的应用程序:
cordova run browser -- --live-reload
Run Code Online (Sandbox Code Playgroud)
如果我在文件中进行更改,浏览器根本不会按照描述"实时重新加载"; 除非我遗失了什么?该命令的输出是:
Running command: /Users/jakegould/Desktop/MyApp/platforms/browser/cordova/run --live-reload
Static file server running on port 8000 (i.e. http://localhost:8000)
CTRL + C to shut down
Static file server running @ http://localhost:8000/index.html
CTRL + …Run Code Online (Sandbox Code Playgroud)