我想获取字符串中的最后一个字符MY WAY - 1)获取最后一个索引2)获取最后一个索引处的字符,作为STRING.之后我会将字符串与另一个字符串进行比较,但我不会在此处包含该部分代码.我尝试了下面的代码,我得到了一个奇怪的数字.我使用的是ruby 1.8.7.
为什么会这样,我该怎么办?
line = "abc;"
last_index = line.length-1
puts "last index = #{last_index}"
last_char = line[last_index]
puts last_char
Run Code Online (Sandbox Code Playgroud)
输出 -
last index = 3
59
Run Code Online (Sandbox Code Playgroud)
Ruby文档告诉我,数组切片以这种方式工作 -
a = "hello there"
a[1] #=> "e"
Run Code Online (Sandbox Code Playgroud)
但是,在我的代码中它没有.
我想在Windows 7上安装带有ruby 1.9.3的rspec-rails gem.我遇到了一些错误,说有些json库无法安装.所以,我使用下面的说明来解决它.Source = 'json'本机gem需要安装构建工具
cd C:\Ruby193\DevKitruby dk.rb initruby dk.rb reviewruby dk.rb install要回到手头的问题,您应该能够通过运行以下命令来安装JSON(或测试您的DevKit已成功安装),这些命令将执行JSON gem的安装,然后使用它:
gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
Run Code Online (Sandbox Code Playgroud)
当我执行上面的第一步时,我收到错误 -
C:\Ruby193\DevKit>gem install json --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
C:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile
make …Run Code Online (Sandbox Code Playgroud) 我是javascript的新手,我有点挑战自己从网络教程中学习它.请帮我解决下面的问题.
问题:
编写一个带有两个或更多数组的函数,并按原始提供的数组的顺序返回一个新的唯一值数组.
换句话说,所有数组中存在的所有值都应包含在它们的原始顺序中,但在最终数组中没有重复.
唯一编号应按其原始顺序排序,但最终数组不应按数字顺序排序.
仅使用Array.reduce来解决这个问题!这就是您的解决方案应该是这样的:
function unite(arr1, arr2, arr3) {
return arr1;
}
unite([1, 2, 3], [5, 2, 1, 4], [2, 1]);
Run Code Online (Sandbox Code Playgroud)
我无法理解如何在这里使用reduce.与此相比,所有互联网示例都非常简单.https://www.airpair.com/javascript/javascript-array-reduce http://adripofjavascript.com/blog/drips/boiling-down-arrays-with-array-reduce.html
我错了解决方案:
function arrayDiff(resultArray, element){
var idx = anotherArray.indexOf(element);
if(idx != -1){
resultArray.push(element);
return resultArray;
}
}
function unite(arr1, arr2, arr3) {
var arr = [];
var r1 = arr1.reduce(arrayDiff);
var r2 = arr2.reduce(arrayDiff);
var r3 = arr3.reduce(arrayDiff);
arr.concat(r1).concat(r2).concat(r3);
return arr;
}
r = unite([1, 2, 3], [5, 2, 1, 4], [2, 1]);
console.log(r);
Run Code Online (Sandbox Code Playgroud)
错误:ReferenceError:未定义anotherArray