小编A.D*_*.D.的帖子

226
推荐指数
3
解决办法
31万
查看次数

自定义Bash提示会覆盖自己

我正在使用自定义bash提示来显示git分支.

一切都在/etc/bash/bashrc:

function formattedGitBranch {
    _branch="$(git branch 2>/dev/null | sed -e "/^\s/d" -e "s/^\*\s//")"
    # tried these:
    echo -e "\e[0;91m ($_branch)"                       
    echo -e "\e[0;91m ($_branch) \e[m"                  
    echo -e $'\e[0;91m'"($_branch)"
    echo "($_branch)"                                   
    echo "$(tput setaf 2) ($_branch) $(tput setaf 9)"
    printf "\e[0;91m ($_branch)"
}

# color is set before function call
PS1='\[\033[01;34m\] \[\033[0;91m\]$(formattedGitBranch) \$\[\033[00m\] '
# color is set inside function
PS1='\[\033[01;34m\] $(formattedGitBranch) \$\[\033[00m\] '
Run Code Online (Sandbox Code Playgroud)

问题是,当我$_branch在函数中设置颜色时,到达EOL时我的提示将被覆盖:

mmmmmmmmmmmmp/rainyday.js(主)$ mmmmmmmm

尝试了所有可能的变体tput,printf,$''符号.

我通过以下方式设置颜色来解决问题PS1:

ad @ gentoo /tmp/rainyday.js(master)$ mmmmmmm

但.. …

bash gentoo command-prompt

32
推荐指数
2
解决办法
9990
查看次数

如何在Multitail中着色Rails日志?

tail logs/development.logXFCE终端输出:

XFCE终端中tail logs/development.log的输出

multitail log/development.log
Run Code Online (Sandbox Code Playgroud)

multiitail log/development.log的输出

Rails会自动将转义码添加到日志文件中.见development.log文件:

  ^[[1m^[[36m (84.1ms)^[[0m  ^[[1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) ^[[0m
  ^[[1m^[[35m (92.6ms)^[[0m  CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
  ^[[1m^[[36m (0.2ms)^[[0m  ^[[1mSELECT version FROM "schema_migrations"^[[0m
  ^[[1m^[[35m (159.3ms)^[[0m  INSERT INTO "schema_migrations" (version) VALUES ('20130327221553')
  ^[[1m^[[36m (59.9ms)^[[0m  ^[[1mINSERT INTO "schema_migrations" (version) VALUES ('20130326152730')^[[0m
  ^[[1m^[[35m (59.8ms)^[[0m  INSERT INTO "schema_migrations" (version) VALUES ('20130327173637')
Run Code Online (Sandbox Code Playgroud)

multitail -c 产生不可用的输出.

多头-c的输出

如何在不编写自己的配色方案的情况下为Multitail中的日志着色?

ruby-on-rails colors tail ansi-escape

19
推荐指数
1
解决办法
3545
查看次数

将ui-grid网格列格式化为货币(RC 3.0)

下面的网格选项按预期显示数据.但是,如果我尝试格式化row.entity[col.field]cellTemplate中的值,我不会返回任何数据.

码:

$scope.gridOptions = {
    enableSorting: true,
    columnDefs: [
        {name: 'Award Title', field: 'projectTitle', minWidth: 100 },
        {name: 'Amount', field: 'awardAmount', cellTemplate: '<div>{{Number(row.entity[col.field]).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,')}}
    ]
};
Run Code Online (Sandbox Code Playgroud)

有关如何将列格式化为货币的任何指导都表示赞赏.

谢谢.

angularjs angular-ui-grid

15
推荐指数
3
解决办法
2万
查看次数

Ruby,Tor和Net :: HTTP :: Proxy

如果这是一个无耻的怀疑我提前道歉:我想在我的Ruby代码中使用代理来获取一些网页.而且我想偷偷摸摸!所以我正在使用Tor.

我有Tor运行,我可以像往常一样使用Net :: HTTP.get(uri).但我无法弄清楚如何使用Net :: HTTP :: Proxy来获取uri.我也无法弄清楚如何使用Tor来帮助我的匿名提取.

任何帮助是极大的赞赏.请不要只为Net :: HTTP :: Proxy添加ruby-doc页面链接.如果我明白了,我不会在这里问这个:-)


另一种简单的方法是使用SOCKSify,但在这种情况下,我收到以下错误:

/usr/lib/ruby/gems/1.9.2-p290/gems/socksify-1.5.0/lib/socksify.rb:189:in 'socks_authenticate': SOCKS version not supported (SOCKSError)

我之前从未做过任何网络编程.任何关于此的指导也将非常有帮助.谢谢 :-)

ruby proxy tor net-http

12
推荐指数
1
解决办法
6914
查看次数

REXML :: RuntimeError(实体扩展变得太大)

在今天升级到Ruby-1.9.3-p392之后,REXML在尝试检索特定大小的XML响应时抛出运行时错误 - 一切正常并且在接收25个XML记录时没有引发错误,但是一旦某个XML响应达到长度阈值,我得到这个错误:

Error occurred while parsing request parameters.
Contents:

RuntimeError (entity expansion has grown too large):
  /.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/rexml/text.rb:387:in `block in unnormalize'
Run Code Online (Sandbox Code Playgroud)

我意识到最新的Ruby版本已经改变了:http: //www.ruby-lang.org/en/news/2013/02/22/rexml-dos-2013-02-22/

作为一个快速修复,我已经将大小更改REXML::Document.entity_expansion_text_limit为更大的数字,错误就消失了.

是否存在风险较低的解决方案?

ruby ruby-on-rails rexml

10
推荐指数
1
解决办法
1688
查看次数

我无法从Nokogiri解析的字符串中删除空格

我无法从字符串中删除空格.

我的HTML是:

<p class='your-price'>
Cena pro Vás: <strong>139&nbsp;<small>K?</small></strong>
</p>
Run Code Online (Sandbox Code Playgroud)

我的代码是:

#encoding: utf-8
require 'rubygems'
require 'mechanize'

agent = Mechanize.new
site  = agent.get("http://www.astratex.cz/podlozky-pod-raminka/doplnky")
price = site.search("//p[@class='your-price']/strong/text()")

val = price.first.text  => "139 "
val.strip               => "139 "
val.gsub(" ", "")       => "139 "
Run Code Online (Sandbox Code Playgroud)

gsub,strip等等不起作用.为什么,我该如何解决这个问题?

val.class      => String
val.dump       => "\"139\\u{a0}\""      !
val.encoding   => #<Encoding:UTF-8>

__ENCODING__               => #<Encoding:UTF-8>
Encoding.default_external  => #<Encoding:UTF-8>
Run Code Online (Sandbox Code Playgroud)

我正在使用Ruby 1.9.3,因此Unicode不应该是问题.

ruby whitespace mechanize nokogiri mechanize-ruby

7
推荐指数
1
解决办法
3996
查看次数

无法使用ruby xmpp4r获取以前的群聊历史记录

我正在使用ruby xmpp4r库来实现与openfire服务器的多用户组聊天应用程序.我在openfire服务器上成功创建了聊天室.如果用户使用openfire凭证加入聊天室,则不返回之前的群聊历史记录,只返回少量消息,因为我正在使用add_message_callback()方法.

以下是openfire群聊历史记录设置:
**显示整个聊天记录(向加入房间的用户显示整个聊天记录.) - 真实

我在这里错过了什么?任何人都有示例代码来获取以前的组历史记录?

ruby xmpp ruby-on-rails openfire xmpp4r

7
推荐指数
1
解决办法
301
查看次数

无法加载67个库的共享库符号,例如libstdc ++.所以

我已阅读了这么多文章,但没有弄清楚如何解决这个问题:

$ /cygdrive/e/adt-bundle-windows-x86/android-ndk-r8d/ndk-build

Gdbserver      : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver    
Gdbsetup       : libs/armeabi/gdb.setup    
Cygwin         : Generating dependency file converter script    
Compile++ thumb  : Andest1 <= Andest1.cpp    
StaticLibrary  : libstdc++.a    
SharedLibrary  : libAndest1.so    
Install        : libAndest1.so => libs/armeabi/libAndest1.so


$ /cygdrive/e/adt-bundle-windows-x86/android-ndk-r8d/ndk-gdb --project=e:/workspace/Andrd1 --port=5000 --start --force --verbose      

0xafd0c52c in epoll_wait () from E:\workspace\Andrd1/./obj/local/armeabi/libc.so    
warning: .dynamic section for "E:\workspace\Andrd1/./obj/local/armeabi/libAndrd1.so" is not at the expected address (wrong library or version mismatch?)
warning: Could not load shared library symbols for 67 libraries, e.g. libstdc++.so.
Run Code Online (Sandbox Code Playgroud)

android-ndk

6
推荐指数
1
解决办法
1553
查看次数

如何使用Watir(Ruby)从非可见元素中读取文本?

页面上有一个div不可见,但有一些我想要捕获的值.在它上面调用文本会返回一个空字符串.

如何在不处理原始html的情况下显示值?无论浏览器中文本的可见性如何,我都可以强制.text返回实际值吗?

irb(main):1341:0> d.first.visible?
=> false

irb(main):1344:0> d.first.html
=> "<div class=\"day\">7</div>"

irb(main):1345:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)

PS:有很多div(页面缓存响应并相应地显示它们).我考虑更改所有显示:在页面中没有或点击使它们可见但我希望尽可能避免这种情况.如果不可能,改变所有显示器的解决方案都不是首选的解决方法.

PPS:诅咒,我试图超载可见?Watir :: Element类中的方法总是返回true,但是没有做到这一点.

irb(main):1502:0> d.first.visible?
=> true

irb(main):1504:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)

ruby watir watir-webdriver

5
推荐指数
1
解决办法
2026
查看次数