You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
367 lines
6.3 KiB
367 lines
6.3 KiB
# Morning Exercise
|
|
|
|
##Let's Look at the Differences
|
|
|
|
## Rewrite the following Javascript functions in Ruby
|
|
|
|
### Get Name
|
|
# ```javascript
|
|
# var getName = function () {
|
|
# var name = prompt("what is your name?");
|
|
# return name;
|
|
# };
|
|
# ```
|
|
|
|
# ###Reverse It
|
|
# ```javascript
|
|
# var reverseIt = function () {
|
|
# var string = "a man, a plan, a canal, frenemies!";
|
|
|
|
# var reverse = "";
|
|
|
|
# for (var i=0; i < string.length; i++) {
|
|
# reverse += string[string.length - (i+1)];
|
|
# };
|
|
|
|
# alert(reverse);
|
|
# };
|
|
# ```
|
|
# ###Swap Em
|
|
# ```javascript
|
|
# var swapEm = function () {
|
|
# var a = 10;
|
|
# var b = 30;
|
|
# var temp;
|
|
|
|
# temp = b;
|
|
# b = a;
|
|
# a = temp;
|
|
|
|
# alert("a is now " + a + ", and b is now " + b);
|
|
# };
|
|
# ```
|
|
# ###Multiply Array
|
|
# ```javascript
|
|
# var multiplyArray = function (ary) {
|
|
# if (ary.length == 0) { return 1; };
|
|
|
|
# var total = 1;
|
|
# // var total = ary[0];
|
|
|
|
# for (var i=0; i < ary.length; i++) {
|
|
# total = total * ary[i];
|
|
# };
|
|
|
|
# return total;
|
|
# };
|
|
# ```
|
|
# ### Fizz Buzzer
|
|
# ```javascript
|
|
# var fizzbuzzer = function(x){
|
|
# if( x%(3*5) == 0 ) {
|
|
# return 'fizzbuzz'
|
|
# } else if( x%3 == 0 ) {
|
|
# return 'fizz'
|
|
# } else if ( x%5 == 0 ) {
|
|
# return 'buzz'
|
|
# } else {
|
|
# return 'archer'
|
|
# }
|
|
# }
|
|
# ```
|
|
# ###Nth Fibonacci
|
|
# ```javascript
|
|
# var nthFibonacciNumber = function () {
|
|
# var fibs = [1, 1];
|
|
# var num = prompt("which fibonacci number do you want?");
|
|
|
|
# while (fibs.length < parseInt(num)) {
|
|
# var length = fibs.length;
|
|
# var nextFib = fibs[length - 2] + fibs[length - 1];
|
|
# fibs.push(nextFib);
|
|
# }
|
|
|
|
# alert(fibs[fibs.length - 1] + " is the fibonacci number at position " + num);
|
|
# };
|
|
# ```
|
|
|
|
# ### Search Array
|
|
# ``` javascript
|
|
# var searchArray = function(array,value) {
|
|
# for(var i = 0; i < array.length-1; i++) {
|
|
# if(array[i] == value) {
|
|
# return true;
|
|
# break;
|
|
# }
|
|
# }
|
|
# return -1;
|
|
# };
|
|
# ```
|
|
|
|
# ### Palindrome
|
|
# Write a method that checks whether or not a string is a palindrome.
|
|
# Here is the javascript:
|
|
# ``` javascript
|
|
# var isPalindrome = function(str) {
|
|
# for(var i = 0; i < str.length/2; i++){
|
|
# if(str[i] != str[str.length-i-1]){
|
|
# return false;
|
|
# break;
|
|
# }
|
|
# return true;
|
|
# }
|
|
# };
|
|
# ```
|
|
|
|
# ### hasDupes
|
|
# Write a method that checks whether or not an array has any duplicates.
|
|
# Here is the javascript:
|
|
# ``` javascript
|
|
# var hasDupes = function(arr){
|
|
# var obj = {};
|
|
# for (i = 0; i < arr.length; i++) {
|
|
# if(obj[arr[i]]) {
|
|
# return true;
|
|
# }
|
|
# else {
|
|
# obj[arr[i]] = true;
|
|
# }
|
|
# }
|
|
# return false;
|
|
# };
|
|
```
|
|
////////////////////////////
|
|
# SOLUTIONS
|
|
|
|
### Get Name
|
|
```javascript
|
|
var getName = function () {
|
|
var name = prompt("what is your name?");
|
|
return name;
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
print "what is your name?"
|
|
name = gets.chomp
|
|
```
|
|
|
|
###Reverse It
|
|
```javascript
|
|
var reverseIt = function () {
|
|
var string = "a man, a plan, a canal, frenemies!";
|
|
|
|
var reverse = "";
|
|
|
|
for (var i=0; i < string.length; i++) {
|
|
reverse += string[string.length - (i+1)];
|
|
};
|
|
|
|
alert(reverse);
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
string = "a man, a plan, a canal, frenemies!"
|
|
string.reverse!
|
|
|
|
```
|
|
###Swap Em
|
|
```javascript
|
|
var swapEm = function () {
|
|
var a = 10;
|
|
var b = 30;
|
|
var temp;
|
|
|
|
temp = b;
|
|
b = a;
|
|
a = temp;
|
|
|
|
alert("a is now " + a + ", and b is now " + b);
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
a = 10
|
|
b = 30
|
|
c = a
|
|
a = b
|
|
b = c
|
|
puts ("a is now " + b + ", and b is now " + a)
|
|
```
|
|
###Multiply Array
|
|
```javascript
|
|
var multiplyArray = function (ary) {
|
|
if (ary.length == 0) { return 1; };
|
|
|
|
var total = 1;
|
|
// var total = ary[0];
|
|
|
|
for (var i=0; i < ary.length; i++) {
|
|
total = total * ary[i];
|
|
};
|
|
|
|
return total;
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
def multiply_array(ary)
|
|
if ary.length === 0
|
|
0
|
|
else
|
|
iterator = ary.length
|
|
total = 1
|
|
unless iterator === 0
|
|
total *= ary.iterator
|
|
iterator -= 1
|
|
end
|
|
total
|
|
end
|
|
```
|
|
### Fizz Buzzer
|
|
```javascript
|
|
var fizzbuzzer = function(x){
|
|
if( x%(3*5) == 0 ) {
|
|
return 'fizzbuzz'
|
|
} else if( x%3 == 0 ) {
|
|
return 'fizz'
|
|
} else if ( x%5 == 0 ) {
|
|
return 'buzz'
|
|
} else {
|
|
return 'archer'
|
|
}
|
|
}
|
|
```
|
|
```Ruby
|
|
def fizzbuzzer(num)
|
|
if (x % (3*5)) === 0
|
|
'fizzbuzz'
|
|
elsif (x % 3) === 0
|
|
'fizz'
|
|
elsif (x % 5) === 0
|
|
'buzz'
|
|
else
|
|
'funke'
|
|
end
|
|
end
|
|
```
|
|
|
|
###Nth Fibonacci
|
|
```javascript
|
|
var nthFibonacciNumber = function () {
|
|
var fibs = [1, 1];
|
|
var num = prompt("which fibonacci number do you want?");
|
|
|
|
while (fibs.length < parseInt(num)) {
|
|
var length = fibs.length;
|
|
var nextFib = fibs[length - 2] + fibs[length - 1];
|
|
fibs.push(nextFib);
|
|
}
|
|
|
|
alert(fibs[fibs.length - 1] + " is the fibonacci number at position " + num);
|
|
};
|
|
```
|
|
```Ruby
|
|
def nth_fibonacci_number
|
|
puts 'which fibonacci number do you want?'
|
|
user_input = gets.chomp.to_i
|
|
fibs = [1, 1]
|
|
until (fibs.length >= user_input) #code block if NOT conditional
|
|
fibs << (fibs[fibs.length - 2] + fibs[fibs.length - 1])
|
|
end
|
|
fibs[user_input - 1]
|
|
end
|
|
|
|
|
|
def nth_fibonacci_number
|
|
puts 'which fibonacci number do you want?'
|
|
user_input = gets.chomp.to_i
|
|
fibs = [1, 1]
|
|
loop do
|
|
fibs << (fibs[fibs.length-2] + fibs[fibs.length-1])
|
|
break if (fibs.length >= user_input)
|
|
end
|
|
fibs[user_input - 1]
|
|
end
|
|
```
|
|
|
|
|
|
### Search Array
|
|
``` javascript
|
|
var searchArray = function(array,value) {
|
|
for(var i = 0; i < array.length-1; i++) {
|
|
if(array[i] == value) {
|
|
return true;
|
|
break;
|
|
}
|
|
}
|
|
return -1;
|
|
};
|
|
```
|
|
```Ruby
|
|
def search_array(array, value)
|
|
if array.include?(value)
|
|
true
|
|
else
|
|
-1
|
|
end
|
|
end
|
|
|
|
def search_array(array, value)
|
|
-1 unless array.include?(value)
|
|
true
|
|
end
|
|
end
|
|
```
|
|
|
|
|
|
### Palindrome
|
|
Write a method that checks whether or not a string is a palindrome.
|
|
Here is the javascript:
|
|
``` javascript
|
|
var isPalindrome = function(str) {
|
|
for(var i = 0; i < str.length/2; i++){
|
|
if(str[i] != str[str.length-i-1]){
|
|
return false;
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
def is_palindrome(str)
|
|
false unless isPalindrome === isPalindrome.reverse
|
|
true
|
|
end
|
|
end
|
|
```
|
|
|
|
### hasDupes
|
|
Write a method that checks whether or not an array has any duplicates.
|
|
Here is the javascript:
|
|
``` javascript
|
|
var hasDupes = function(arr){
|
|
var obj = {};
|
|
for (i = 0; i < arr.length; i++) {
|
|
if(obj[arr[i]]) {
|
|
return true;
|
|
}
|
|
else {
|
|
obj[arr[i]] = true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
```
|
|
|
|
```Ruby
|
|
def has_dupes(arr)
|
|
false unless arr.uniq.length === arr.length
|
|
true
|
|
end
|
|
end
|
|
```
|